mutewinter / Showbot

🤖 An IRC Bot and Website for 5by5.tv written with the Cinch and Sinatra frameworks
MIT License
90 stars 31 forks source link

Update showbot to use the latest cinch and cinchize + a few other tweaks. #38

Closed rikai closed 11 years ago

rikai commented 11 years ago

Deleted and re-commited the relevant changes to the master branch of my fork to avoid some messy commits, hopefully this is clean enough to merge without much issue.

I only did some light testing, but everything seems to be in order to close #36. Cinchize was quite the pain due to my lack of experience, but once i realized what i needed to do, it was rather easy. The code for showbot_irc.rb was put together with some helpful pointers from Netfeed.

Added the needed things for cinch-identify, which closes #34.

Also removed the specific version requirement on ri_cal, since the latest version seems to not have any issues in my testing as well.

mutewinter commented 11 years ago

I'm busy with a couple other projects right now, but as soon as I'm free I'm going to merge this and test it out.

Thanks as always @rikai, you're the best.

rikai commented 11 years ago

Totally understandable, juggling multiple projects is always a pain. And no problem, they say the best way to learn a language is to dive right in to an existing project, and i've definitely learned a lot, hopefully it works cleanly. I'm glad to help out a project as useful and smartly designed as this one and i hope my small contributions are good enough to be of help.

There are a few things i've noticed though that i may have done wrongly. I removed the minimum required version numbers off a few gems in my eagerness to make Showbot use the latest gems for everything, so you may want to re-add those.

Secondly, because i'm developing on FreeBSD, my Gemfile.lock is a bit strange as i had to compile libv8 from scratch and use a beta version of therubyracer to get it working as the FreeBSD 9 fixes to get it working have only recently been implemented and aren't in the latest rubygems gem yet, so you may want to commit your version of Gemfile.lock instead of mine.

Other than that, everything else should be in order. :)

rikai commented 11 years ago

Just figured i'd give this a little new years bump since it's been a while. ;)

mutewinter commented 11 years ago

Sorry I haven't gotten to this yet @rikai. I'm adding it to my list :). Thanks again!

rikai commented 11 years ago

No worries at all. Just gave it a little bump in case it slipped through the cracks is all. ;)

rikai commented 11 years ago

Just another friendly reminder bump for ya, @mutewinter. ;)

mutewinter commented 11 years ago

I'm going to look at it this weekend! :smile:

Also, proof that it has been on my list:

Screen Shot 2013-04-10 at 6 46 48 PM

Thanks for sticking with this Rikai, I appreciate your work.

rikai commented 11 years ago

Haha, no worries, i'm glad to help.

I'm hoping in the long run it means easier maintenance and configuration so time can be better spent on other things like adding neat features/plugins. :)

And I just gave you a (bit) more work onto your plate too with that other pull request i just submitted... Oops!

mutewinter commented 11 years ago

Working on this tonight, although with the Linode craziness I may not be able to deploy. I may have to pick a new hosting provider :disappointed:.

mutewinter commented 11 years ago

I attempted to get your pull request running locally, but ran into some issues. When I run

$ bundle exec foreman run irc -f Procfile.local                                                                                                                                                                           

None of the cinch plugins load.

error while loading the module: no such file to load -- cinch/plugins/fivebyfun
error while loading the module: no such file to load -- cinch/plugins/schedule
error while loading the module: no such file to load -- cinch/plugins/showbot_admin
error while loading the module: no such file to load -- cinch/plugins/showbot
error while loading the module: no such file to load -- cinch/plugins/suggestions
error while loading the module: no such file to load -- cinch/plugins/shoutcast_info
error while loading the module: no such file to load -- cinch/plugins/twitter_broadcast
error while loading the module: no such file to load -- cinch/plugins/links

Have you seen this before?

rikai commented 11 years ago

Ahh yes, i totally forgot about that! The issue is that chinchize changed how it loads plugins, so you need to include the plugin's lib folder in your RUBYLIB enviroment variable. SO "RUBYLIB=~/botfolder/lib" or somesuch, for example.

I had issues with that early on and netfeed helped me figure out what was happening. iirc, you can even just add it to Procfile and Procfile.local as a prefix to the showbot_irc command and it should just work.

Edit: I've found an even cleaner solution. Create a .env file in the showbot directory and define the RUBYLIB path there, foreman will then use .env to set that path anywhere it's called. I haven't figured out a way to automatically give it the path of the project folder yet, but at least that simplifies the configuration quite a bit.

Second edit: Relative file paths seem to work in the .env file in my limited testing, so it should actually be as simple as adding this to .env:

RUBYLIB=./lib

Sorry again, it completely slipped my mind.

mutewinter commented 11 years ago

That worked perfectly, thanks Rikai!