From TMW: rEvolt
AuctionBot is kind of multipurpose, Friendly Bot written by gnurfk. It is located at the Hurnscald storage. To use it you whisper it commands. Commands always start with an exclamation mark, unknown commands and non-commands are ignored. The bot has a few subsystems that basically work independently.
!help - is the command that gets you online help. If you pass another command to the help command, you get more specific information about that particular command.
- Why is it called AuctionBot? Initially it was thought to be an auctioneer. However it developed to do a lot of different tasks such as sending mail. So don't take the name as a description.
- It doesn't talk to me anymore! Unless the bot is broken in some way, you are likely banned from using the bot for some reason. Talk to gnurfk.
- It always queries my manaplus shop. How can I make it stop? Your client is doing an invisible emotion every 30 seconds (called advert protocol). AuctionBot will only query you if you do such an emotion and no more than once per half an hour. To get rid of these queries, you need to disable those emotions. In manaplus you can either disable "Enable Shop mode" or disable "Enable advert protocol" (both from the other tab). If you want to just not see the queries instead, select "Hide shop messages" in the chat tab.
The idea is that you tell the bot what you intend to buy (!seek) and what you intend to sell (!offer) and the bot tries to find someone to trade with.
- !offer : Takes an item name (or id) and a price limit. It tells the bot that you intend to sell that item and that you want to get at least the price (in gp) you entered.
- !seek : Also takes an item name (or id) and a price limit. This time you intend to buy the item and want to pay at most the price (in gp) you entered. The commands are completely symmetric.
After entering this command AuctionBot either comes up with someone to trade with. Then you can trade that item and agree on a quantity. If AuctionBot was unable to find a partner it adds this information to its database and waits for some partner to log into tmw or to issue a corresponding command. Also if someone announces "Sell ..." in the storage room, it may get you a message. Once you get that message your information about your intentions is deleted from the database, so if you want to trade more of that item, you need to issue another !offer or !seek command. If on the other hand you manage to trade your item independently, you need to !delete it from AuctionBot. Another source of items is ManaMarket, so AuctionBot queries ManaMarket and answers your !seek queries with those items as well.
- !delete : Takes an item name and deletes your intentions about this item from the database.
- !mylist : Shows what you currently seek or offer. If the list gets too long to display, you can pass a category. Try !help !mylist to get a list of categories.
- !globallist : Shows which items are listed by any players. The list is huge. It is not useful in general, but it can wet your appetite.
- !globalstats : Tries to show which items are "hot". Suggestions improving this command are welcome.
- How can I see other player's prices? Basically you cannot. The only way to see another player's entered price is to be whispered about a matching trade.
- Why do I need to list items to see prices? You need to make up your mind what the item is worth to you. This way you do not pay more than you want to pay and get the money you want to get.
- How can I sell 10 Acorns? You simply list the item with a price per item and agree on the amount with your partner later.
- It keeps telling me to come back later! If you change prices too rapidly or add an item you previously deleted, then AuctionBot will deny this action to prevent brute forcing. Waiting an hour will fix this problem.
Let's say there are four players Foo, Bar, Qux and Quux. Foo and Bar want to sell their Acorns at 12gp and at 15gp per Acorn. Soo Foo whipsers !offer acorn 12 to AuctionBot and Bar whispers !offer acorn 15. Then Qux wants to buy Acorns.
- Qux wants to pay up to 20 gp per Acorn (!seek acorn 20). Then AuctionBot would simultaneously notify Foo and Qux, because Foo's Acorns are cheaper than Bar's. The notification would suggest 16gp as price which is the average of both limits. Bar would get no message in this case. If however Foo is not online at that time, the notification would simultaneously go to Bar and Qux (if Bar is online at that time). The suggested price would be 17gp in this case.
- Qux wants to pay up to 14 gp per Acorn. Again AuctionBot would notify Foo and Qux. However if Foo is offline, it would not notify Bar and Qux, because the prices do not fit together. AuctionBot would wait until Foo and Qux are online at the same time and then notify both.
- Qux wants to pay up to 11 gp per Acorn. Nobody would get notified in this case. AuctionBot would wait for further !offer and !seek commands or chat messages "Sell ..." or "Buy ..." (emitted by 4144 shop mode announce).
- Now Foo and Bar are offline, but Qux still wants to buy Acorns. Quux is not using the AuctionBot directly, but in Hurnscald storage says he sells the acorns for 12 gp (in message format emited by 4144 client), then Qux still gets a whisper that there is a match for the item he seeks, but Quux doesnt get any message.
- I whisper !buy something, but it doesn't trade me. Maybe you are rejecting trades? For some clients this is key r.
- I entered money, but AuctionBot aborts the trade. Did you click Change?
!mail : Takes a nickname (optionally enclosed in single or double quotes) and a message. The message will be delivered to the player when he logs into tmw. You can only send one message to a player at a time. If you send a second message, it replaces your first message.
!ignoremail : Takes a nickname and tells AuctionBot that you wish to not receive any mail from that player. To undo, issue the command again.
!lastseen : Takes a nickname and tells you when AuctionBot has last seen that player. This includes all players, not just those in the warehouse. The list of online players is refreshed every 30 seconds, so it is a bit inaccurate sometimes.
!onlinealert : Takes a nickname. If that player is not online now you will get a message when the player gets online. If you go offline, the alert is discarded. Note that it may take AuctionBot to spot a player up to 30 seconds.
!startauction : Pass the name of an item you wish to sell. If you do this, be prepared to sell for any price. The auction will last for a week. After this period you will be told who bid most and how much. You exchange the item for money with your partner directly.
!listauctions : List all currently active auctions. Each auction has an unique identifier denoted in square braces. Furthermore the item name (only a single item), the seller and the currently highest bid are listed.
!bid : This command takes an auction identifier and your bid in this order. If you win the auction, you will get a further whisper telling you about this. If another player does a higher bid, you also get one message.
Problems / Questions
If you experience any problems contact gnurfk (for instance using !mail). This includes getting spammed with mails or false trade opportunities. This also includes requesting new features or improving error messages and help texts.