Wiki

Clone wiki

Doge Soaker / Home

Doge Soaker

Doge Soaker is a Python multi IRC client plugin that provides an automated tip distribution feature called "Soaking". The Soak feature uses the 3rd party Dogecoin tipbot "Doger" to provide its service of spreading tips out to active users in chat.

Soak feed https://twitter.com/DogeSoaker

Status

Doge Soaker has proven itself resilient and largely dependable. There have been some rocky times along the way, but each problem has shown the way for better improvement. Only small performance and reliability improvements are made anymore. As always, operation is under close monitoring and frequent review. An attempt to revise and complete documentation is under way.

Open Source

This project is completely open source and makes attempts to be as transparent as possible. Please read the appropriate user, operator, or developer specific notes before operating your own Doge Soaker.

Doge Soaker Users

Please be aware of who is operating the Doge Soaker bot you use and only use bots ran by trusted operators. Doge Soaker is provided as a free service with absolutely no warranty or guarantee; Use at your own risk.

The original Doge Soaker does not keep any fees, except for what is remaining from splitting evenly. Be cautious as a bot may appear to be Doge Soaker, but may not function the same. Demand all operators of bots be express and up front about fees.

Doge Soaker Operators

I urge all operators of this bot use it responsibly and cautiously as its role is to function while relying on three outside systems that are prone to failures; an IRC server, a IRC chat client, and a standalone tipbot. Doge Soaker provides multiple logging methods as well as tools for auditing and review in the eventual case of a failure. Operators should be familiar with these systems and tools to fairly review and resolve disputes.

I urge all operators to obey IRC server and channel specific rules, which almost always forbid operating bots in public channels without permission.

Doge Soaker Developers

(Nothing here yet, improving documentation.)

What's New

  • A custom headless native IRC client is completed and vetted to provide better performance, reliability, and hosting flexibility.

Requires DogeSoakerClient: https://bitbucket.org/SoCo_cpp/dogesoakerclient

  1. Review the Doge Soaker plugin script's options and configurations at the top of the source file dogesoaker.py. Configure with C_XChat_Plugin set to False.
  2. Execute DogeSoakerClient to produce a skeleton IRC client configuration file and fill in with IRC connection and login options or create your own at ~/.dogesoaker/dogesoaker.config.
  3. Ensure environment variable PYTHONPATH includes dogesoaker.py's path so DogeSoakerClient can find the Python module.
  4. Execute DogeSoakerClient and use output to ensure it loads the Python module, connects, and logs in the IRC user properly.
  5. Join one or more supported tipbot enabled IRC channels, by using the appropriate operator commands.
  6. Verify operation.

Legacy usage as a XChat / HexChat IRC client plugin

  1. Review the Doge Soaker plugin script's options and configurations at the top of the source file dogesoaker.py. Configure with C_XChat_Plugin set to True.
  2. Open the XChat or HexChat IRC client. (xchat.org or hexchat.github.io)
  3. Load the Doge Soaker plugin dogesoaker.py in the IRC client. (Menu: Window->Plugins and Scripts...)
  4. Connect and login to IRC with a nick identified with NickServ.
  5. Join one or more supported tipbot enabled IRC channels, either by hand, or by using the appropriate operator commands.
  6. Verify operation.

Operation

Doge Soaker will track all joined channels for user activity. Receiving a tip via a supported tipbot will trigger the soaking routine. Soaking will split the tipped value evenly between all users who have been active in the configured amount of time. (default is last 10 minutes)

  • The tipper will not be included.
  • Specified ignored users will not be included (mostly bot nicks, but a manageable banned user list is supported).
  • A WHOIS test will be done on all included users for authentication checking. Un-identified nicks will not be included.
  • If there is no authenticated users or not enough tip to spread the minimum tip evenly, the soak will be refused and the tip will be returned to the sender.

Notes

  • Leftover coins from dividing a tip evenly are kept. The tipbot only allows tips of whole coins so the values are rounded down. This left over balance can be redistributed by the operator.
  • Doge Soaker is currently intended to run with tip re-sending disabled. The Doger tipbot is very reliable and in the event of an issue, Doge Soaker will log failed tips and require an operator to resolve any discrepancies manually.
  • The Doger tipbot does not tip offline users. There is a small window of time where a user can quit the IRC server and still be included in a soak despite due diligence. These types of failed tips are logged and generally just redistributed by the operator.

Donate

Currently SoCo_cpp is working on this project alone. Support SoCo_cpp directly with donations using one of the following addresses.

  • BTC 1SoCo1gCvnMGgwUK4FrJvsPUPAUfoKa6h
  • LTC LSoCoLDiViv4eK47sWDgU399vGZ7C74TSY
  • DOGE DSoCoDwXVGgfAjpm1PQsYeXr5HCvJMnFEj
  • FTC 72SoCoCkby6j44G9L53qRmFfE55kc145vR
  • VTC VbSoCopz7x9tBnULwQutSd1ZwVGqNejfUf

Updated