[TOOL] StreamPoll v0.6 (Updated 03/11/13)

Churpy

New Member
DOWNLOAD: http://www14.zippyshare.com/v/49871096/file.html

Stream Poll v0.6

I have written a small program that you can use to set up some neat polls to display on your stream. The program allows you to configure your own polls with up to 4 options, and you can then use a Text source to display your poll option, and the number of votes. Of course you could always use the program without filling out the question field as some sort of counter, for a 1v1 or some kind of thing like that. Dual functionality, yo, it's a feature, not a bug!

I AM AWARE that there are chat plugins that do similar things (I..think..?) but this initially took me almost no time at all to do and I found it pretty neat, so I decided to share it because why not? I'll improve more on this when and if I see fit and have the time. I'm sure that the more imaginative people will be able to get some nicely displayed counters on their stream with text wrapping and custom fonts and images.


Version 0.6 is now released. It now introduces automated voting from Twitch.tv. Here is what the program looks like:



Here's how it might look on your stream if you are bad at graphics like me: (Top right)



Using StreamPoll

Setup instructions

1. Set up a text source in OBS and choose the "Use Text From File" option.
2. Browse to where you extracted StreamPoll and choose the poll.txt file.
3. Customize the text source in any way you see fit, and enjoy!

Here is a video demonstration of how StreamPoll works:

http://www.twitch.tv/churpy/c/3187448

Users in your chat use the commands !vote1, !vote2, !vote3, and !vote4 to select an option they wish to vote for. I have not yet implemented a good way to communicate this to viewers so unfortunately that part is up to you. (I DO plan to do this, but I'm still evaluating the best options!)

Changelog
--v0.6
-Introduced automated polling via a bot that sits in your chat. This is in early stages but it works 100%
-Log allows you to see who voted or tried to vote but couldn't.
-Moved UI around and cleaned things up a little.

--v0.4
-Made the hotkeys re-bindable.
-Your custom hotkeys are also now saved to a file "settings.txt".

--v0.3
-Introduced hotkeys, currently set as CTRL+F9 thru F12. 0.4 will have bindable hotkeys if I get around to it.

--v0.2
-Improved the settings and ease of use.
-Changed the program to write to one file instead of four.
-Overhauled layout and functionality.

I just wanted something where I could have a poll running while I was playing a game on my stream, or doing something..and have viewers chip in to it. I initially had StreamPoll on my second monitor and just incremented it myself. Leave suggestions, comments, issues or questions as a reply to the thread, and I hope this tool is of good use to you!

Enjoy!

-Churpy (twitch.tv/churpy)

DOWNLOAD: http://www14.zippyshare.com/v/49871096/file.html
 

Churpy

New Member
Re: [TOOL] StreamPoll v0.4 (Updated 21/10/13)

I've noticed that Twitch is using IRC for its chat and I am working on implementing something that will connect to the IRC of a specified channel and parse the chat, so I can begin implementing an automated voting system. Right now I am trying to figure out if I can join the chat as some kind of spectator so that I do not have to ask the user for a login. If anybody would be able to point me in the right direction with this I would be extremely grateful, the Twitch API tells me that I need to have a Twitch account to connect to the IRC. Preferably I would not like to ask for user login details on my program.

EDIT: Oh also, if you downloaded this and it just flat out wasn't working, try again now, I'm an absolute idiot and forgot to include the keyboard hook library.
 

Churpy

New Member
Bump.

I have worked tirelessly on implementing automated voting for StreamPoll and it has been a success. Version 0.6 now includes four commands - !vote1 to !vote4, that can be entered in your Twitch channel's chat to add results to the poll. There is a lot of input validation to make sure that this is as robust as possible, and I have thoroughly tested it over many (many) hours with no issues.

In doing this I have created a pretty solid Twitch chat bot that sits on your own machine, unlike any other bots I have seen. The flexibility for this is extremely high, so if you have any feature requests please post them and I will see if it is possible. I don't feel great triple posting but I feel that this update to StreamPoll might turn it from useless into useful for a lot of people. I've worked hard on this and I want others to be able to enjoy it. See the original post for more information on v0.6
 

Ianuarius

Member
So initially this took pretty much no time to do and now you've worked for hours and hours on it? :D

I mean it looks neat. You were talking about other options for polling. Is this somehow better, then?
 

Churpy

New Member
Ianuarius said:
So initially this took pretty much no time to do and now you've worked for hours and hours on it? :D

I mean it looks neat. You were talking about other options for polling. Is this somehow better, then?
I wrote the initial program in about 20 minutes and all you could do was click buttons to make the polls go up..and it would write to four SEPARATE files, which was really clumsy. It took a few more hours to rework the entire UI and file I/O after that. Then it took a few more hours to figure out how to make hotkeys.. a few more to figure out how to program a way for them to be rebound. After that, it took a long, long time to figure out just how to connect to the Twitch chat in a reliable and reasonable manner to fetch chat data..mainly due to complete lack of information, and the fact that I'm really not an experienced programmer whatsoever - this is by far the biggest program I have ever written, and it's still quite small. This is the 5th version of the program so yes, I've put a lot of time into it now :D

As for other options for polling, I know that some chat bots, like Nightbot, I THINK have a voting system in place.. however, these are limited to being displayed in the chat. There is currently no way that I know of to relay this information to the streamer's computer so that you can do something with it on the actual stream. I created this because if you are good with both OBS and graphics design, you can make any text source look freakin' awesome. So this provides a robust method of allowing users to vote on a question or a poll that you would like to ask..while being able to put this information through OBS at the same time. The latency is also extremely good, at least during my testing.. you can see this in the demo video I have in the original post, typing !vote1 in the chat gives an almost immediate update to the program.

So it's not really a case of being better than other ways of polling, just that my way can be displayed in real-time, on the stream, and look pretty while doing it.
 

Ianuarius

Member
Oh neat! Yeah, I can see that being helpful.

I might even use it one day if I ever get enough viewers to have it make sense. :D
 

Churpy

New Member
Ianuarius said:
Oh neat! Yeah, I can see that being helpful.

I might even use it one day if I ever get enough viewers to have it make sense. :D
Heh, I also get next to no viewers when I stream, but you'd be surprised at how many total viewers you get just from people that come and go.

I'm currently looking into how to communicate to the viewers on the chat that there is an active poll that they can interact with, for that exact reason. I've emailed Twitch.tv asking if there is a way to quietly talk to users such as sending them a private message in the channel, with no reply, so I'm thinking of having an interval that you can set where StreamPollBot will say something in your channel like "To vote on the question on the stream, type !vote1-4!" etc.

I'm also working on making it so that, say, if your poll answers are "Yes" and "No" then "!vote yes" and "!vote no" will add results. This will hopefully be a much better system than the current !vote1-4.

For example.. if the question was "What game should I play next?" and the answers were "Call of Duty" and "Battlefield" you could maybe type "!vote call of duty" or "!vote battlefield" and it would accept that as a vote. I dunno.
 

Ianuarius

Member
That sounds reasonable. I'd just rather have it more simple. The whol !vote part of it is pretty much pointless for the viewers. Day9 does it a lot where he just says "type 1 if the sound is ok and 0 if it's not". And then the chat gets filled with ones and zeros. :D But yeah, just !1 and !0 would be better. Who's gonna write that otherwise?
 

Churpy

New Member
Ianuarius said:
That sounds reasonable. I'd just rather have it more simple. The whol !vote part of it is pretty much pointless for the viewers. Day9 does it a lot where he just says "type 1 if the sound is ok and 0 if it's not". And then the chat gets filled with ones and zeros. :D But yeah, just !1 and !0 would be better. Who's gonna write that otherwise?
Perhaps I will make it so you can choose what the viewers have to type, eventually.
 

pedroberaldo

New Member
Hi Churpy!

Do you think we can set an option to detect that people type in the actual options in the chat?

As in, if I have 2 options: Blue and Red, insted of !Vote1 it detects !Red !Blue etc

Thanks for the app :)
 

Churpy

New Member
pedroberaldo said:
Hi Churpy!

Do you think we can set an option to detect that people type in the actual options in the chat?

As in, if I have 2 options: Blue and Red, insted of !Vote1 it detects !Red !Blue etc

Thanks for the app :)
I've been terribly busy with university and life in general but I will probably be looking at continuing development on this tool soon..this is a planned feature for sure :)
 

smite

New Member
This is very useful, pretty much exactly what I was looking for. Thanks!

The only things I'd ask for to make it perfect: another hotkey to reset the poll (I do this constant poll thing on some of my streams), and maybe an option for a color-coded pie graph instead of just text. I can probably set this up on my end using the data from the poll file, though.
 

Wolfbane

Member
Looks nice.

Would be nice to have some more features/options with the plugin.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

4 is usually enough, but sometimes its nice to have insane options

- - - - -

Have 2 kinds of "reset buttons"
If you add reset buttons then you can have the layer always active in OBS.
So by pressing one of the reset buttons it clears the poll.txt

Reset Button *1*
Resets the poll.txt and clears the Question / Options in the application.

Reset Button *2*
Resets the poll.txt and does not clear the Question / Options in the application.

- - - - -

Add many small buttons, example 8x8 (64 buttons)
You can Give them different mono color customization for brain to easier recognition.

So what will the 8x8 buttons do ?
Saved Questions settings. So people have questions that come up each day, they dont have to rewrite the questions and simpy just press the preset button to load that question.

- - - - -

The poll/bot should write in chat when the vote has started and ended.

- - - - -

Countdown timer, to when poll starts, countdown when it ends.
This might even be implemented to change poll.txt each second.
Well actually it would be better if the countdown was in a txt file of it own. maybe in a new "timer.txt"
That way you can have that layer always active. And since you prob want the numbers in the countdown to be larger then the text in the poll, by being in its own layer, you can do settings to increase he text/font size of the individual numbers in the timer.txt layer.
And after the countdown is done it should be empty so it is not displayed anything.

So the poll.txt should be empty until the countdown is over and the poll starts.

- - - - -

Button to manually end poll.
Also in chat write the winning poll.

- - - - -

Also display total votes

Do simple math, and write % of people voting for this option.

- - - - -

Allow display options. On in what order they wrote things.
So option to display the number of votes before the options.
So option not to display the number of votes at all.

Instead call it "display customization option"
Example: *percent* *votes* => *Option*

The outcome of the example would be something like this.

Like Cats or Dogs?
30 votes sofar.
33% 10 => Cats
66% 20 => Dogs

- - - - -

Sound support so you can have countdown in sound, to when poll is about to start, have countdown to when poll ends.

So sound as numbers, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,
And maybe have other sounds, "Vote Started" "Vote Ended"

Add sound features. Support own sound files. So all thse sound options can be customized to use own sound files.

- - - - -

Countdown timer

Options to

- - - - -

TwitchAlerts has a voice reader for donations, so maybe its even possible to have some kind of robot voice the read the poll, options, and also announce the winner by voice.

- - - - -

Enjoy... there you have a few suggestionst o keep you busy for a while
 

Patrik

New Member
Is it possible for you to post the source for this application.. i would like to keep updating it and since you made this i thought why reinvent the wheel...

what are you programming in ?
 
Top