This document is about rePYbot ©2008 Don A. Hanlen, a reputation and
saved-games bot meant to run on FIBS. Readers may use the source in their
own applications, though I make no claims about (and take no responsibility
for) use or abuse of these files or the conseqences resulting from
same-same. In the unlikely event that any money is made as a result
of my work, I expect a piece of the action (negotiable).
I should point out that these files may not be the latest, and they may
have bugs in them (this is a work in progress...). For general info, these
Python files do not follow a particular programming paradigm, they just
kinda grew. Eventually, I'll clean 'em up and pay a little attention to
documentation.
Files in hierarchial order:
To do list (in no particular order):
- Add detection of new user logins, who may be replacing previous
users (and write a remove-user routine);
- Program a try/catch for reconnects to FIBS.
- Find a 24/7 home for RePYbot if people are interested!
Here's the current help files:
- alert: The old RepBot's alert function is better implemented using FIBS' 'show saved' and 'waitfor' commands IMO.
- ask: 'tell rePYbot ask ' Get statistics on user.
- client: When I say 'tell rePYbot...' that means use whatever your client requires to chat (not kibitz) with another user.
- cocoa: I've been told you have to 'chat with rePYbot' to use this bot.
- complain: 'tell rePYbot complain ' Register a complaint about user. You may complain IF: You have a ~~saved match with user; You have played user in the last day; OR user hase registered a vouch/complaint against you.
- grok: To completely understand something, to BE that thing! It's from Robert Heinlein's 'Stranger in a Strange Land'.
- help: 'tell rePYbot help ' I have help on (alert, ask, client, cocoa, complain, grok, help, home, list, name, random, replist, source, time, vouch, weight, whyshout, withdraw, ~~)
- home: I need a 24/7 home!
- list: 'tell rePYbot list ' Get an ~~approximate list of user's ~~saved matches. There are many reasons why this list may be inaccurate!
- name: Since the original RepBot had a 'p' in it, I added a 'y' in the and changed case, making rePYbot (because it's written in Python). You can probably get away with 'tell repy', and capitalization is NEVER required!
- random: You'll get random snippets of information about rePYbot's saved~games (and other things), at the suggestion of a higher authority. Current odds are 1:10.
- replist: 'tell rePYbot replist ' ..get a list of vouches/complaints for and by user.
- source: Source code and information may be found at (http://users.owt.com/dhanlen/rePYbot.html).
- time: To discourage hacks, %s will not accept commands from a user within 2 seconds of each other. This time period will increase with repeated hammering. One warning is delivered per timeout (the length of which may increase DURING the timeout)!
- vouch: 'tell rePYbot vouch ' Register a voucher for user. You may vouch IF: You have a ~~saved match with user; You have played user in the last day; OR user hase registered a vouch/complaint against you.
- weight: The weight of your vouch/complaint is int(log(your_experience+1)). I didn't like those inflated ratings from previous repbots.
- whyshout: The occasional shouts are either to indicate that rePYbot just logged in, or on detection of a question about the old repbot in shouts. They serve the purpose of reminding people that this is not Patti's bot, nor part of FIBS.
- withdraw: 'tell rePYbot withdraw ' Withdraw a complaint or vouch.
- ~~: ~~'s in rePYbot output mean that ~saved~game~ information is ~~imprecise. Equivalence, not equality. (~ kinda looks like an equivalence symbol.)
From a user side, the bot seems functional. Enjoy!