RT Tweets By Random User - From List?

Support / help / discussion forum for twitter bot
kevshTO
Posts: 101
Joined: Tue Oct 24, 2017 3:09 pm

Re: RT Tweets By Random User - From List?

Post by kevshTO »

That works as intended, thanks.

Unfortunately for my purposes, after all this, I didn't think about how the Last Active filter works: I assume will check against any action (tweet, RT, reply) so if the account has not tweeted an original tweet in days but has RTed/replied to others in the past 24 hours (in some cases, hundreds of Rts and/or replies) then the same problem arises - TD will continue to check tweets indefinitely as it won't find any original tweets to RT - or at least it will take a very long time to get one.

The good news, I can still make this work using my own API code to check if an account has tweeted something original in the past, say, 24 hours, then add that account to the input file. (All of my input files for RTs, etc. are created dynamically each day from a master list of accounts so my script can just run the check first).

Anyway, thanks again for your work on this.
User avatar
martin@rootjazz
Site Admin
Posts: 35814
Joined: Fri Jan 25, 2013 10:06 pm
Location: The Funk
Contact:

Re: RT Tweets By Random User - From List?

Post by martin@rootjazz »

kevshTO wrote: Tue Apr 02, 2019 7:44 pm That works as intended, thanks.

Unfortunately for my purposes, after all this, I didn't think about how the Last Active filter works: I assume will check against any action (tweet, RT, reply)
yes it checks what it can to try and work out if the account did something recently
so if the account has not tweeted an original tweet in days but has RTed/replied to others in the past 24 hours (in some cases, hundreds of Rts and/or replies) then the same problem arises - TD will continue to check tweets indefinitely as it won't find any original tweets to RT - or at least it will take a very long time to get one.
Sorry, not sure I understand. If your last active filter is 24 hours, then the program should check the most recent items only to decide whether it was done within your time, no need to scan through historical data as that only gets older.

What search are you running that returns date ordered results, that once an item fails due to last active, it keeps on checking older and older results (which is pointless). This is what the last update added, so either it isn't working for you (for me it is) or there is a different search you are running, I didn't add the drop out to
kevshTO
Posts: 101
Joined: Tue Oct 24, 2017 3:09 pm

Re: RT Tweets By Random User - From List?

Post by kevshTO »

martin@rootjazz wrote: Tue Apr 02, 2019 8:27 pm
kevshTO wrote: Tue Apr 02, 2019 7:44 pm That works as intended, thanks.

Unfortunately for my purposes, after all this, I didn't think about how the Last Active filter works: I assume will check against any action (tweet, RT, reply)
yes it checks what it can to try and work out if the account did something recently
so if the account has not tweeted an original tweet in days but has RTed/replied to others in the past 24 hours (in some cases, hundreds of Rts and/or replies) then the same problem arises - TD will continue to check tweets indefinitely as it won't find any original tweets to RT - or at least it will take a very long time to get one.
Sorry, not sure I understand. If your last active filter is 24 hours, then the program should check the most recent items only to decide whether it was done within your time, no need to scan through historical data as that only gets older.

What search are you running that returns date ordered results, that once an item fails due to last active, it keeps on checking older and older results (which is pointless). This is what the last update added, so either it isn't working for you (for me it is) or there is a different search you are running, I didn't add the drop out to
I should run again on searching an account that has no original tweets in over 24 hours but lots of RTs/replies to see what happens, I cancelled the action previously as it was going on so long. But what I found with that one particular account is that it did not have an original tweet since March 27th but had maybe 200+ RTs and/or replies since then, many I assume in the 24 hour window in which I ran the action.

Since the filter detected there was *some* activity in the account in the last 24 hours (e.g. a RT), it therefore continued to look for an original tweet (the filter for original tweets only checked) through all the tweets from that account (newest to oldest I assume?) - and, as mentioned above, there was a LOT of RTs and replies but not a single original tweet. Hence, it was "stuck" on that one account for 20+ minutes as there was no qualifying tweets available, at least not in the past few days.

If I had let it continue to run, at what point would it move on from that account (assuming no original tweets were found, or less than requested)? Or a more simple example, lets say an account has literally never posted an original tweet but RTs ~50 other accounts' tweets a day. How would TD respond?
User avatar
martin@rootjazz
Site Admin
Posts: 35814
Joined: Fri Jan 25, 2013 10:06 pm
Location: The Funk
Contact:

Re: RT Tweets By Random User - From List?

Post by martin@rootjazz »

kevshTO wrote: Tue Apr 02, 2019 10:41 pm
martin@rootjazz wrote: Tue Apr 02, 2019 8:27 pm
kevshTO wrote: Tue Apr 02, 2019 7:44 pm That works as intended, thanks.

Unfortunately for my purposes, after all this, I didn't think about how the Last Active filter works: I assume will check against any action (tweet, RT, reply)
yes it checks what it can to try and work out if the account did something recently
so if the account has not tweeted an original tweet in days but has RTed/replied to others in the past 24 hours (in some cases, hundreds of Rts and/or replies) then the same problem arises - TD will continue to check tweets indefinitely as it won't find any original tweets to RT - or at least it will take a very long time to get one.
Sorry, not sure I understand. If your last active filter is 24 hours, then the program should check the most recent items only to decide whether it was done within your time, no need to scan through historical data as that only gets older.

What search are you running that returns date ordered results, that once an item fails due to last active, it keeps on checking older and older results (which is pointless). This is what the last update added, so either it isn't working for you (for me it is) or there is a different search you are running, I didn't add the drop out to
I should run again on searching an account that has no original tweets in over 24 hours but lots of RTs/replies to see what happens, I cancelled the action previously as it was going on so long. But what I found with that one particular account is that it did not have an original tweet since March 27th but had maybe 200+ RTs and/or replies since then, many I assume in the 24 hour window in which I ran the action.
ah ok, I understand you (I think). It isn't that the users tweets are search historical for last active, but that the base search is not finding anyone due to the failed last active filter as it does not appear to be checking replies / retweets. Let me check on that

Since the filter detected there was *some* activity in the account in the last 24 hours (e.g. a RT), it therefore continued to look for an original tweet (the filter for original tweets only checked) through all the tweets from that account (newest to oldest I assume?) - and, as mentioned above, there was a LOT of RTs and replies but not a single original tweet. Hence, it was "stuck" on that one account for 20+ minutes as there was no qualifying tweets available, at least not in the past few days.
now you have confused me again. Once it passed the filter, it shouldn't look through historical data anymore. But I don't think I understand what you are trying to explain though.

Can you please include logs showing what you mean.
Describe your actual base search you are running and what data you expect it to return and what it is / is not returning / doing
Or a more simple example, lets say an account has literally never posted an original tweet but RTs ~50 other accounts' tweets a day. How would TD respond?
What search are you running, what filter are you running? What results are you wanting.
User avatar
martin@rootjazz
Site Admin
Posts: 35814
Joined: Fri Jan 25, 2013 10:06 pm
Location: The Funk
Contact:

Re: RT Tweets By Random User - From List?

Post by martin@rootjazz »

so if the account has not tweeted an original tweet in days but has RTed/replied to others in the past 24 hours (in some cases, hundreds of Rts and/or replies) then the same problem arises - TD will continue to check tweets indefinitely as it won't find any original tweets to RT - or at least it will take a very long time to get one.
can you send me the profile URL where this is the case, no original tweets, only RTs / replies
kevshTO
Posts: 101
Joined: Tue Oct 24, 2017 3:09 pm

Re: RT Tweets By Random User - From List?

Post by kevshTO »

martin@rootjazz wrote: Wed Apr 03, 2019 12:26 pm
kevshTO wrote: Tue Apr 02, 2019 10:41 pm
martin@rootjazz wrote: Tue Apr 02, 2019 8:27 pm
yes it checks what it can to try and work out if the account did something recently


Sorry, not sure I understand. If your last active filter is 24 hours, then the program should check the most recent items only to decide whether it was done within your time, no need to scan through historical data as that only gets older.

What search are you running that returns date ordered results, that once an item fails due to last active, it keeps on checking older and older results (which is pointless). This is what the last update added, so either it isn't working for you (for me it is) or there is a different search you are running, I didn't add the drop out to
I should run again on searching an account that has no original tweets in over 24 hours but lots of RTs/replies to see what happens, I cancelled the action previously as it was going on so long. But what I found with that one particular account is that it did not have an original tweet since March 27th but had maybe 200+ RTs and/or replies since then, many I assume in the 24 hour window in which I ran the action.
ah ok, I understand you (I think). It isn't that the users tweets are search historical for last active, but that the base search is not finding anyone due to the failed last active filter as it does not appear to be checking replies / retweets. Let me check on that

Since the filter detected there was *some* activity in the account in the last 24 hours (e.g. a RT), it therefore continued to look for an original tweet (the filter for original tweets only checked) through all the tweets from that account (newest to oldest I assume?) - and, as mentioned above, there was a LOT of RTs and replies but not a single original tweet. Hence, it was "stuck" on that one account for 20+ minutes as there was no qualifying tweets available, at least not in the past few days.
now you have confused me again. Once it passed the filter, it shouldn't look through historical data anymore. But I don't think I understand what you are trying to explain though.

Can you please include logs showing what you mean.
Describe your actual base search you are running and what data you expect it to return and what it is / is not returning / doing
Or a more simple example, lets say an account has literally never posted an original tweet but RTs ~50 other accounts' tweets a day. How would TD respond?
What search are you running, what filter are you running? What results are you wanting.
I don't know how I explain this differently! I am trying to use the Custom RT action (as detailed earlier in this thread) on a list of accounts using the filters Days Since Last Active set to '1' and Original Tweets Only checked. The reason for these filters is that if an account does not have any Original Tweets in the past few days, but lots of RTs and replies, TD will spend a long time searching through that account's tweets until it finally finds an Original Tweet (non-Rt/reply).

What happened with the example I described above is that one particular account had only RTs and replies for the past 4-5 days with no Original Tweets. So the action seemed to take a long time before it found an original tweet as there were hundreds of RTs and replies since the last Original Tweet. As I said, I cancelled the action as it was going on so long.

I emailed you an example account to show how some accounts will have nothing but RTs and/or replies between original tweets.
kevshTO
Posts: 101
Joined: Tue Oct 24, 2017 3:09 pm

Re: RT Tweets By Random User - From List?

Post by kevshTO »

I can give another example that I hope will illustrate what's going the issue is but in another context:

I'm running a basic RT action right now, using a Tweet Search (Recent) of a relatively rare text string, filtered by MaxHoursSinceTweet set to 36. Max Actions set to 4, I believe. The problem is that, apparently, there are only two tweets in the last 36 hours that have that search string, so TD likely found those two already but because it doesn't have enough (<4) it is continuing on, searching through dozens of older tweets still looking for one tweeted in the last 36 hours. (Currently it's saying Value: 3898 is <0 or > 36, the next one says 3905 is <0 or > 36 so I assume it's sorting through them newest to oldest).

Obviously, it's never going to get the 4 required and so I assume it's either going to run indefinitely until I cancel the process or it runs out of results (and for a less rare term, that could literally take days). As of this minute the process has been running 33 minutes and counting (the latest tweet it checked against the filter is from July 2016). I'm assuming it will run out of results soon but ...

In any case, I don't know if it's possible without running the search through the API (where you get a collection of results) but I would expect the way it should work is to look at each tweet from newest to oldest, apply whatever other filters (original, default av, etc.) and as soon as it gets to a tweet older than - in this case - 36 hours the process should quit/stop regardless if it met found enough eligible tweets (based on Max Actions) because it will never find a matching one once it starts looking at tweets over 36 hours old.

Hope that makes sense!

Edit:
If I was doing this search in Twitter manually I'd run an Advanced Search something like this:
SearchTerm since:2019-04-01 until:2019-04-02

Obviously that doesn't work for the 36 hours filter as we can only specify the date on an advanced search but the idea is that a MaxHoursSinceTweet filter should force TD to initially get a results collection consisting solely of tweets from the last 36 hours for that search term and then apply any other filters (Original, etc.). However TD actions are set up, however, it seems like it's not doing that, it's simply searching through all results and then applying the MaxHoursSinceTweet filter.
User avatar
martin@rootjazz
Site Admin
Posts: 35814
Joined: Fri Jan 25, 2013 10:06 pm
Location: The Funk
Contact:

Re: RT Tweets By Random User - From List?

Post by martin@rootjazz »

kevshTO wrote: Wed Apr 03, 2019 4:05 pm

What happened with the example I described above is that one particular account had only RTs and replies for the past 4-5 days with no Original Tweets. So the action seemed to take a long time before it found an original tweet as there were hundreds of RTs and replies since the last Original Tweet. As I said, I cancelled the action as it was going on so long.
but what is the issue? The user HAS been active in the last 1 day so passed the LAST DAY filter for the account which is cahced, and is scanning through the userfeed to find the first original tweet. That is what you have specified to happen. Yes it may take a while if the user doesn't have an original tweet for (n) posts, there is a protection to stop this running forever, but it needs to be set at a level so it doesn't drop out so early for people who want to find the result

I don't know how I explain this differently!
Logs would really help as requested above

As would the other requested information. Probably you have seen this:
Please, read through this post and submit your issue accordingly. Not everything will be relevant to your issue, but have a read as it gives an idea of the information you can provide to help me help you as quickly as possible without delays in having to request additional information :)

https://rootjazz.com/forum/viewtopic.php?f=23&t=1634
Or the stickied thread on top of each and every forum here (which says the above basically)

With the information:

what you did
how you did it
screenshots of the above if relevant
why you think it is not working
what you think should happen
show the logs which make you think it is not working

etc, it helps have a better view of what is going on, rather than just a block of text.
I emailed you an example account to show how some accounts will have nothing but RTs and/or replies between original tweets.
Can you explain why you think things are not working, as either I am still not understanding, but from your explanation above, I can not see an issue - apart from it takes time to find the result, but that to me seems correct
kevshTO
Posts: 101
Joined: Tue Oct 24, 2017 3:09 pm

Re: RT Tweets By Random User - From List?

Post by kevshTO »

martin@rootjazz wrote: Thu Apr 04, 2019 12:50 pm
kevshTO wrote: Wed Apr 03, 2019 4:05 pm

What happened with the example I described above is that one particular account had only RTs and replies for the past 4-5 days with no Original Tweets. So the action seemed to take a long time before it found an original tweet as there were hundreds of RTs and replies since the last Original Tweet. As I said, I cancelled the action as it was going on so long.
but what is the issue? The user HAS been active in the last 1 day so passed the LAST DAY filter for the account which is cahced, and is scanning through the userfeed to find the first original tweet. That is what you have specified to happen. Yes it may take a while if the user doesn't have an original tweet for (n) posts, there is a protection to stop this running forever, but it needs to be set at a level so it doesn't drop out so early for people who want to find the result
Okay, if there is a point at which it will stop looking for tweets that is important, I just didn't let mine run long enough to hit that limit.

My main point however, is the method TD uses to go through tweets should force it to stop looking at a particular account's tweets once the latest tweet found is older than 24 hours (based on the filter being set to 24 hours) and skip to the next one, regardless of enough tweets were found.

If I'm writing the Custom Search we've discussed in this thread using the Twitter API, I would cycle through the accounts one-by-one and collect the API limit of 200 tweets for each using search/userTimeline (and set exclude_replies and include_rts to true/false accordingly). Then I would go through each tweet from that account, from newest to oldest, and first check if the current tweet was tweeted within the last 24 hours. If so, RT it. If not, then I skip to the next account as I know if the newest tweet is older than 24 hours than all of the rest will be too - no use looking at each one. That's not what TD does though, it keeps looking.

Of course, I don't know how TD is set up "under the hood" so that may not be possible. My only point is that the logic for what it's doing now is inefficient as an action with a filter to RT only tweets published in the last 24 hours should not still be analyzing tweets from 2016 (as happened in my search term RT action mentioned above). So for a Custom Search with, say, 8 accounts to sort through, if 5 of the accounts don't have an original tweet in the last 24 hours the process could run for 80+ minutes until it finally hit its attempt limit and quits.

In any case, thanks for your help on this. I appreciate the effort and I'll work with how it functions now - I can use the API to pre-qualify accounts as I may have mentioned earlier - to only add accounts that have X original tweets in the last day to my input file.
User avatar
martin@rootjazz
Site Admin
Posts: 35814
Joined: Fri Jan 25, 2013 10:06 pm
Location: The Funk
Contact:

Re: RT Tweets By Random User - From List?

Post by martin@rootjazz »

kevshTO wrote: Fri Apr 05, 2019 12:57 am
martin@rootjazz wrote: Thu Apr 04, 2019 12:50 pm
kevshTO wrote: Wed Apr 03, 2019 4:05 pm

What happened with the example I described above is that one particular account had only RTs and replies for the past 4-5 days with no Original Tweets. So the action seemed to take a long time before it found an original tweet as there were hundreds of RTs and replies since the last Original Tweet. As I said, I cancelled the action as it was going on so long.
but what is the issue? The user HAS been active in the last 1 day so passed the LAST DAY filter for the account which is cahced, and is scanning through the userfeed to find the first original tweet. That is what you have specified to happen. Yes it may take a while if the user doesn't have an original tweet for (n) posts, there is a protection to stop this running forever, but it needs to be set at a level so it doesn't drop out so early for people who want to find the result
Okay, if there is a point at which it will stop looking for tweets that is important, I just didn't let mine run long enough to hit that limit.
after (n) pages of no results, it will drop out. As above, I have to be careful with this value, some people want to scroll back to find old historical posts (others don't) but finding a value to please all is difficult (yes it would be ideal to let users select, but then it just adds more complication / setup, so that value is hard set for now)

My main point however, is the method TD uses to go through tweets should force it to stop looking at a particular account's tweets once the latest tweet found is older than 24 hours (based on the filter being set to 24 hours) and skip to the next one, regardless of enough tweets were found.
LAST ACTIVE is NOT that filter option, it is a check of when the PROFILE was last active. Now, I think I finally understand you. You do not want profile last active filter, you want the tweet returned age. This would be the MAX HOURS SINCE TWEET, which you can set to 24hrs, which will do what you want (and I will confirm it drops out when only older tweets are aspected in the results set)



Of course, I don't know how TD is set up "under the hood" so that may not be possible. My only point is that the logic for what it's doing now is inefficient
.

if what you want it to do is not what the feature you are using does :)
Post Reply