aidanrwt / twitch-plays

Twitch IRC bot that takes input from the chat and presses the corresponding key.
MIT License
275 stars 59 forks source link

Use irc library in favour of your implementation #2

Closed ynohtna92 closed 10 years ago

ynohtna92 commented 10 years ago

In my fork I have used https://pypi.python.org/pypi/irc in favour of your implementation of the irc protocol. It provides a much more stable connection for this purpose, and has been tested on the official Twitch Plays Pokemon stream without issue.

Your implementation is limited and causes a lot of disconnects and time outs.

The code will be posted soon but don't wait for me for it as it is extremely messy.

aidanrwt commented 10 years ago

I'm new to Python and programming in general. I've never used IRCLib, but I'll look into it tommorow :)

AUmrysh commented 10 years ago

I'm going to look into this as well. I had great success doing twitch plays QWOP earlier and I plan on improving this software which has already brought many people joy.

aidanrwt commented 10 years ago

Oh, you're the guy that got top comment on a /r/gaming thread and linked to this repo? I saw your stream.

Please keep everyone updated with your progress. I think the next step would be to for one improve the IRC functionality, and also to integrate some system for communicating with LUA scripts within emulators so we don't have to rely on pywin32 or have to use sendkeys as it's pretty impractical if you plan on multitasking whilst running bot.

ynohtna92 commented 10 years ago

https://github.com/ynohtna92/twitch-plays/compare/aidraj:master...master

I have updated my fork, there are known issues in the commit notes but other than that it works.

Need to work on the side bar stats thing like on the stream now.

AUmrysh commented 10 years ago

I've dropped in irclib bot fnctionality, and honestly my implementation is very similar to ynohtna92's. I'm not too fond of having a on_dccchat function which allows a connection, personally. I think loading in key configs from a file would be good as well, and I'll look at doing that.

ynohtna92 commented 10 years ago

I am implementing tornado for web-sockets as we speak. It will be used to create the scrolling stats for the stream as well as any other stat you would require.

It is very hacked together but it works, any re-factoring would be appreciated. I'll push it later today.