Help - Search - Members - Calendar
Full Version: Pickle Chat Bot
Podcast Pickle Forums > Podcast Pickle > Ideas for Improvement
Aaron Wormus
Opening up a forum topic where people can comment and add features that they would like to see in the new podcast pickle IRC bot.

Currently we are using the PHP based "PEARBot", you can take a look at the source code at: http://cvs.php.net/viewcvs.cgi/pearbot/

I whipped up a very simple module that blindly expands the pickle numbers, so if you want to point someone to a podcast on IRC, you can simply type:

!3333

and the bot will reply with a complete URL which you can follow to take you to that page on the pickle.

There are plenty of cool functions that can be added, for example once the bot is hooked up to the podcast pickle database, then we can query any information that we need.

This is still very experimental, so any suggestions or code is appreciated. Currently the bot is living on my local machine, so it sleeps when I do smile.gif once we have more functionality we can move it into a permanent home.
Oblivion
Just a brain dump as I'm thinking of things:

1) If you want, I can host it on a machine that never sleeps wink.gif
2) I think the bot should give PickleUsers a few seconds to change their nick and if they don't, let them know how to.
3) If we can't get db access, for simpler stuff like number to title translations, we could do as Gary suggested and scrape the Pickle Pages. Not as efficient, but a potential wrk-around.
4) Is the bot going to do authing/opping or is that going to be handled by X3 or whatever gets put on the new server (if it is moved to The Pickle directly)?
5) Along w/ #4, what about Nick reservation?
6) Silly, but have the bot inc the 'Missed Pickles' count.
7) Speaking of the Topic, have a bot command to update the topic with the URL of a live stream in the event of a Pickle Party.

That's all I've got for now.

Oooh, was just hit with another idear.

8) Have the Pickle Bot keep track of who's coming up next for interviewing during a Pickle Party. Perhaps even have a way to pull in his/her Skype ID from the Pickle profile.
Abv
The pickle bot should announce the podcast of the day.

And, it should spout off podcasting jokes... like... How many podcasters does it take to screw in a light bulb? (I guess you need a good punchline before you implement that feature)
Shelly
QUOTE(Adam Varga @ Feb 13 2006, 09:12 PM) *
The pickle bot should announce the podcast of the day.

And, it should spout off podcasting jokes... like... How many podcasters does it take to screw in a light bulb? (I guess you need a good punchline before you implement that feature)


The pickle bot should offer each PickleUser a beer as soon as he or she choses a nick.
The pickle bot should call Gary whenever there are more than five people in the chat room to let him know that he has guests, and that he might want to put out some chips and dips
The pickle bot should remind the moderator to speak up/stop riding the mic at random intervals
The pickle bot should send messages to people who haven't been to a chat in awhile, asking if it's something we've done...
comedy4cast
[post removed by author to help keep topic on track.]
jack
Run Pickle!

Ruuuuuuuuuuuun!






Jack
Shelly
QUOTE(jack @ Feb 13 2006, 10:26 PM) *
Run Pickle!

Ruuuuuuuuuuuun!

Jack


Life is like a jar of pickles
Dismay
[edited by author to keep the thread on track]

What is a pickle bot?
Oblivion
Guys, I'm all for fun, but we're actually trying to accomplish a task with this thread. So for the wacky suggestions, can you please start a tread in 'General Talk' or somewhere else? Sorry to be a wet blanket.

Aaron, perhaps your wiki was a better idea.

Dismay, "The Pickle Bot" is a program which would help run the IRC/chat channel. It might greet new users who haven't changed their names. It would potentially alert folks like me and Aaron who are around a lot and let us know a person is there asking for help. It might be able to answer queries about what a user's Pickle Page is so during a Pickle Party, for instance, the screen didnt' get cluttered up with the same questons over and over - "Do you have a podcast? What's your URL?"

Aaron, myself, and perhaps a few others have been trying to revive and keep alive the IRC chat channel. The bot would jsut be a tool to help us do that.

Again, I'm sorry if I come off as a pr**k, but we'd appreciate keeping the clutter down on this thread. We're definitly open to serious suggestions - even off-the-wall serious suggestions. Perhaps we should have explained this a little better when opening this thread.
Dismay
You didn't come off as a pr**k so I wouldn't worry. I think what you guys are trying to do is excellent, and I wish I could contribute more. My techie knowledge is not really there.

Thanks for answering my question, though. That would be great and it would help out a lot for new users. I'll ask some techies at work and maybe they can give some suggestions.
The Other Half
It's cool to get the techie stuff. I like learning new stuff the the pickle community is so helpful, even the jokes.
Ronald-san (PPO)
I liked the picklebot's test run...

Him oping someone and X3 unoping them.

"Two bots enter, one bot leaves." Indeed.

I think before you put the pickle bot in full motion you should solve the Oping issue (I have a testers spirit with me - and tryed to see what happens when I oped myself) (It worked - but X3 unoped me.)

I think we should do things like Voicing people after they been there an hour or so...To tell if people are staying for a long time or not.
Aaron Wormus
QUOTE(Ronald-san (PPO) @ Feb 14 2006, 11:10 AM) *
I think before you put the pickle bot in full motion you should solve the Oping issue (I have a testers spirit with me - and tryed to see what happens when I oped myself) (It worked - but X3 unoped me.)


The opping issue has been taken care of.

Oblivion, some good ideas there, I think encouraging new users to change the nick is a good idea, I'll get to work on that. Beer for people who change the nick is a good idea as well smile.gif

As far as screenscraping, that's certainly an option. Does the pickle have a way to generate RSS feeds? I would REALLY like to be able to go to a URL like http://www.podcastpickle.com/rss/3333/ and get an RSS feed with ALL the show information for that show. This would be easy to get out of the database and would be useful since many shows only keep the last X number of shows ín the RSS feed. It would also make it really easy to get information about shows which are based on pickle numbers.

I've got a server where it can live, just want to put a bit more work into it before it moves in. Like oblivion said, it would be easiest if it could live in the pickle itself, and have good access to to DB smile.gif
jifu
QUOTE(Aaron Wormus @ Feb 14 2006, 01:24 PM) *
As far as screenscraping, that's certainly an option. Does the pickle have a way to generate RSS feeds? I would REALLY like to be able to go to a URL like http://www.podcastpickle.com/rss/3333/ and get an RSS feed with ALL the show information for that show. This would be easy to get out of the database and would be useful since many shows only keep the last X number of shows ín the RSS feed. It would also make it really easy to get information about shows which are based on pickle numbers.

I've got a server where it can live, just want to put a bit more work into it before it moves in. Like oblivion said, it would be easiest if it could live in the pickle itself, and have good access to to DB smile.gif


It's funny you mentioned this, I just begun working on syndication for specific pickle things. Right now, there is no specific RSS feed for each pickle page, but it wouldn't be that difficult to use RSS to sort of export the information that you mentioned.

I'll bump this up on my list, but right now I've got two major things that need to be done first. I'll keep you guys posted on how it's going.
Aaron Wormus
QUOTE(jifu @ Feb 14 2006, 11:05 PM) *
it wouldn't be that difficult to use RSS to sort of export the information that you mentioned.

I'll bump this up on my list, but right now I've got two major things that need to be done first. I'll keep you guys posted on how it's going.


That sounds awesome. RSS Everything smile.gif
Aaron Wormus
Some ideas which will allow us to do cool things like subscribing/unsubscribing to podcasts and other functionality from within the chat.

I mention that people will have to trust the bot with their passwords, but it could be done in such a way so that the bot does not store the password. Will explain after...

<awormus> Irobeth: so what kind of stuff can you get us to hook up the bot with the database?
<awormus> you know what I would LOVE
<awormus> !blog Note to self: unsubscribe to lastfuture's podcast
<awormus> and then have that add a blog entry to my pickle blog
<awormus> I would never use the pickle blog since it's just somewhere that I never go, but if there was an interface from here, that would be awesome
<awormus> I had a friend who used his bot to maintain a channel linkblog
<awormus> people just went
<awormus> !linkblog http://www.example.com/ # A short description
<awormus> and that was added to the page in the format of a blog
<awormus> so
* lastfuture sobs
<awormus> lastfuture: don't worry, I was just kidding
<awormus> your show is like the only german I ever hear so I enjoy it wink.gif
<lastfuture> heheh I figured
<lastfuture> thanks man
<lastfuture> I'm not forcing anybody to subscribe anyway. I think I should emphasize that in tonight's show
<awormus> or
<awormus> even cooler is if I say
<awormus> my show is 3333
<awormus> then someone else could go
<awormus> !subscribe 3333
<awormus> and they would be subscribed in the pickle
<awormus> Irobeth: I hope you're taking notes wink.gif
<lastfuture> I think Irobeth is idle
<lastfuture> but I'm sure the backlog will be read
<lastfuture> !unsubscribe anythingbut:3333
<lastfuture> heheh
<awormus> heh
<lastfuture> what ever feature will mess with the database, I would make it so that all changes are being written to a temporary database and as soon as you go to the site (and are logged in) it will ask you to confirm the changes
<lastfuture> that way nobody can spoof which ever mechanism is being used for authentification and you could review what you've done
<lastfuture> well they can spoof but they won't be able to change stuff without you knowing
<lastfuture> ideally the list of changes had checkboxes to untick certain activities that you might regret
<awormus> well, what I would do is do something like
<awormus> send a pvt to the bot like
<awormus> /msg cyberpickle identify myusername mypassword
<awormus> then when you try to blog the pickle will send a request like:
<awormus> http://www.podcastpickle.com/bloginterface...tever+you+wrote
<awormus> and CyberPickle will only identify you by your IP address and probably a time
<awormus> so say 1 day with the same IP address
<lastfuture> that's a pretty good idea. one downside tho: should I mistype the / or use a double slash or something similarly stupid, my pass will be there for all to see
<awormus> I guess you've never done this
<awormus> mysql -uroot -pmyverysecretpassword mydatabase
<awormus> oops, wrong window
<Ronald-san> lol
<lastfuture> well I've done that once, but not in a situation where I know somebody could be faster than me
<lastfuture> I imagine a lot of pickle users aren't necessarily tech-savvy
<awormus> then if you're worried you can right-click on the bot and select "open dialog window"
<Ronald-san> I am back...you didn't notice proberly but I was gone...
<lastfuture> they know how to record their podcast but that doesn't mean they know the pitfalls of irc
<awormus> of course, the REAL problem would be that they would need to trust someone (me) with all their passwords
<awormus> unless, you could set a secondary password on the pickle for use with the bot
<lastfuture> password hashes please tongue.gif
<awormus> lol
<Ronald-san> this might be an idea for the bot...have it so when someone with a name starting with Pickle (PickleUser, Pickler8474 etc) It send a greating message with how to change your name etc.
<awormus> oh well... if the bot uses the same salt and md5 hash as the pickle and then stores the hash in the database it could work
<awormus> Ronald-san: it already does that
<awormus> but it's just impossible to notice with that crummy java client
<Ronald-san> opps.
<Ronald-san> doh - never actually seen it happen.
<lastfuture> is the pickle written in php?
<awormus> lastfuture: I assume that large parts of it are
<lastfuture> if it is it is probably using md5() which doesn't use a salt value (at unless you concat a salt to the password string)
<lastfuture> *that
<awormus> lastfuture: well, that's what they should be doing
<awormus> $md5 = md5($salt.md5($password));
<awormus> that's what I usually do at least

So I'm thinking that there is a script called pwdcheck.php which accepts a username and password and if the username password is correct it replies with a "token" which can be used for a predetermined amount of time to access the database. That token is stored in the database and is used in any transactions from then on for the specific period of time

I log in:
/msg cyberpickle login awormus mysecret password

If my username and password are correct the bot will get a token and add it to the database.

Then someone mentions a podcast and I want to subscribe to it so I go:

!subscribe 2331

the pickle will use the token when communicating to another script on the pickle.

interface.php?op=subscribe&show=2331&user=awormus&token=thetoken

if the token is correct then the user is subscribed to the podcast on the pickle.

When a user identifies themself to the bot, and the bot checks in with the pickle, along with the token the pickle can send the bot any other identifying information.

So someone can type:

!who Oblivion

and the bot will respond with the information that the pickle supplied to it. This is assuming that Oblivion has identified himself to the bot.

In regard to sending the password over the wire (and supplying it to the bot) an alternative could be to give the users an option to set up a secondary password which is only used for the chat. This would mean that they could give that password to the bot without worrying that someone (me) will make the poor bot give me their password and use their account for some unknown nefarious purpose.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2012 Invision Power Services, Inc.