plugin
Credits: evvvvil
Evvvvil Tweet Engine brings most of the Twitter REST API to vvvv. Authorize, search, publish, favourite or retweet tweets and even spam twitter with batch actions that can send hundreds of tweets in one click. Other cool features include: geo localised search, time interval search, posting with pictures or geo coordinates, reply to tweets, destroy tweets, etc...
Please watch this tutorial video to learn how to use this Twitter engine:
Plugin written by evvvvil in C# with the TweetINVI API.
Changes since the video has been made:
Upcoming features:
Feel free to use my website and callback url when creating your application:
Website: http://frogandbone.com/twitterWelcome.html
Callback URL: https://frogandbone.com/twitterCallback.html
Please report any bugs or new feature requests on this page.
Keep it gritty, evvvvil.
anonymous user login
~16h ago
~2d ago
~13d ago
~22d ago
~22d ago
~27d ago
~1mth ago
~1mth ago
~1mth ago
~2mth ago
Maaaaaaassive
I was thinking about this project this very morning and then I see the shout, and then I fly to vimeo and Ha! I lost it at the "machine gun mode".
>43 min tutorial! WTF?!
Great... And thank you.
Thankx guys much appreciated, hope the plugin is at least as massive as that kid in the picture ;)
Yeah the tutorial is bit long but covers everything even how to create twitter application as you've seen, which is pretty basic, but can get confusing for non tweet-heads, what tokens are etc... Anyway thankx a lot hope you find it useful and feel free to report any bug or new feature requests I am open to make this even better.
PLEASE NOTE: If you are replying in batch to many tweets then the time interval should be pretty high and make sure you have a lot of possible randomize replies because, well I just got banned AGAIN yesterday at 5 seconds interval without randomize though, for replying to 50 tweets. You basically start getting "FAILED!..." after about 15 replies... It would be nice if you guys could let me know how it works for you as it's hard to test. I will do further testing but last time I checked I was banned from replying again. lol this a lot of fun though :)
It would be nice to find out what the machine gun mode time interval should be for replying in batch, seems for the rest it's fine to keep it low but replying is a bitch...
Anyway peace :)
Great Work!
This Node is really excellent. Do think you could share some examples how you implemented everything asynchronous?
Great news. Thanks for sharing and the in depth video!
@korriander: Sure bro, actually the key is making your code "Multi-threaded" more than "asynchronous". Multi-threading means you have one thread running with what you need to do in your plugin and you leave another cpu thread, the main thread, for vvvv to run it's user interface and other calculation stuff, I think it's even called the "ui" thread. ANYWAYS essentially it's very simple to convert your code from single threaded to multi-threaded. Let's say you have a function called DoSomething(), and usually you simply call it like this:
To make this multi threaded, You need to create a task and cancellation token as global variables at top of your code, like this:
Then instead of calling "DoSomething()" simply use these 3 lines of code:
And that's it! It will now leave main cpu thread for vvvv to run and vvvv will not stop or halt or stutter when you call DoSomething().
The great thing about multi-threading is that you can make a task "wait" and also "cancel it from running", which is why we need a cancellation token.
Here is how to make a task "wait":
Here is how to cancel a task, with a check to see if it is running or not(if it's not running/has finished running then no point in cancelling it)
And finally here is the code I actually use instead of simply calling "DoSomething()" it's the same as I put above but it just has similar check to see if the action is running already or not:
You might need to change a bool global variable when you cancel, something like this: "DoSomethingCanceled = true" and then if you are running a loop in your DoSomething() function just add a a check at beginning/end of loop like that:
There you go bro, I hope it helps, let me know if it makes sense otherwise can explain in more detail. You can do more with mutli-threading but involves linq/lambda notation and is a lot more complicated, this is the easiest multi-theading implementation I think, keep it simple, innit? Peace
@evvvil
thnx for the detailed explanation! I will try to wrap my head around and and apply it to my nodes...
@evvvvil: great plugin and even better tutorial!
also, thanks for all that information on threading! Have you maybe also got information/example code which you can share on threading functions which need parameters:
eg
DoSomething (int param1, int param2){
.....
}
afaik it should be done with a lambda expression then, but i can't get it to work: threaded-generic-nodes-big-integer-data-type
any hints much appreciated, thanks in advance!
Ah yes I can help, I had same problem: basically I couldn't get the task with lambda notation and parameters to work as well. So the trick is simply to have your parameters as global variables start a task with a function with no parameters, which then uses those global variables inside function instead of parameters...
Actually well fuck it I might as well paste the whole code for everyone to see, this is a working c# multi-threaded plugin node with 3 input pins. First is a bang which when you bang it simply runs Dosomething function then another input pin which expects a spread of 2 numbers, you know x,y kinda thing parameters to dosomething, so like in comment above DoSomething(param1, param2... Finally last input pin is to cancel the current action running as it is multi-threaded we should be able to cancel. It also has a output pin showing result of DoSomething and another output pin giving your status message on the action.
yeah, very cool, thanks for sharing the code & it's comments!
p.s. & for other readers: in the meantime elias also posted a solution to my original thread (link above)- very similar at first glance but didn't check in detail yet! might be of interest for you too!
thanks again!
also, with swayze as representative, i suggest calling the function "DoSomethingAboutYourHair"...
Dirty Patching
Ok I have put the SOURCE CODE ON GITHUB, find it here:
https://github.com/evvvvil/Evvvvil_Tweet_Engine
Please let me know about any new feature you can think of or any bugs you may find, peace.
Great job evvvvil! It works like a charm! Thanks!
Great engine evvvvil!
Suggestion for an addition feature:
Add timeline search to the search plugin, so you can search for any tweets that have been tweeted by a specific user. Should be part of the REST API...Pedro knows how to do it.
hey @evvvvil , I keep getting bad credential messages, both with dev and normal authorization, there's a new "Enable callback locking" button in the app details tab, tried enabling and disabling it but the same happens. Tried with both vvvv_45beta34.1_x86 and _x64
Not sure where to look for more information, When I open EvvvvilTweetEngine_example.v4p there's a nasty couldn't divide by zero there as soon as I open the patch (I've attached the tty Renderer output), but it doesn't appears when I open EvvvvilTweetEngine.v4p, I still get the Bad consumer key or secret, monsieur tete de bite.
http://imgur.com/0TeB9gA
Should I get a mullet? :o
update: Well, I should get half a mullet, tried it with vvvv45_beta33.7_x86 in win8.1 and worked GREAT, seems to fail in win10.
lovely work evvvvil, thanks'n'kisses
did run into some problems though,
I often get no search results. engine starts searching but that's about it.
Sometimes a restart of vvvv helps, sometimes rebooting helps, sometimes not even that for a couple of minutes.
If I try to search again, it keeps shouting at me to "Chill out bro it's already searching".
You did build in the new cancel search bang for that, but it doesnt, whatever I do to it, press it, shake it, squeeze it. Keeps telling me to "chill..."
Need to restart then. But often still get no search results.
(win7, vvvv_45beta34.1_x64)
And finally after not washing my nicely curled mullet for a month - I love the naturally greesy style - I started to get itchy dendruff.
Anything you can do about that? Workarounds? Cheers m8
Great contribution bro!!
Is there a way to handle those emoticons ???
Hi evvvvil!
Can i connect your engine with instagram?
Or it work only with twitter?
Thank youuuuuuuuuuu!
Hey Evvvvil!
Thanks for the great contrib.
TweetSearch is working without problems for me. I'm having trouble with the TweetLogger and TweetAction.
Trying to login as dev first works, when klicking Refresh Login Status it says Logged In, but trying again after a few seconds says Not logged in any more.
TweetAction always sais Failed! Tweet was not published
Any ideas how to debug?