gumiyabot
Standalone Twitch + Bancho IRC bot for handling osu! beatmap requests.
This package is used in Gumiya and is provided for users that wish to run their own bot instance and customize the bot’s functionality. If you only want a beatmap request bot, but do not need to modify or customize it, you may wish to just use stock Gumiya instead.
- License:
MIT
Features
Support for linking a single twitch channel and single osu! account
Beatmap requests
PP info for beatmap requests (requires a Tillerino API key)
Requirements
Python 3.11+
Twitch IRC OAuth token - note that if you are using the token for your own Twitch account, the bot will connect to Twitch chat using your own account. It is recommended to register a secondary Twitch account for the bot.
Bancho (osu!) IRC credentials - note that multiaccounting in osu! is forbidden, and a bannable offense. This includes registering a bot-specific osu! account without explicit permission from osu! staff. Therefore, it is recommended to run the bot under your own osu! account. This will not affect any functionality, you will just receive map requests as in game PMs from yourself.
Installation
Via pip
pip install gumiyabot
Alternatively, you can clone the source repository and run the bot module directly
pip install -r requirements.txt python -m gumiyabot
Running the bot
Generate a new config.ini
gumiyabot --new-config
Edit config.ini as needed (see configuration section below)
Run the bot
gumiyabot config.ini
Configuration
See config.ini.example for details on configuration options.
Twitch usage
Map requests can be linked in the format <beatmap or mapset URL> +HDDT. The bot accepts beatmap and mapset URLs from both the old and new osu! web sites. PP information is dependent on Tillerino.
Player stats can be queried with !stats <player name>
Developing
If you need to extend either of the base plugin classes, there are some things to note beforehand:
Your subclass must have an __init__ method. If you do not need to add any custom functionality, it should just call super(MyPluginClass, self).__init__().
Any irc3.event or irc3.command decorated method from the base plugin class must be overridden in your subclass. If you want the base plugin’s event or command handling, just call super() from your subclass.
For examples, see the Gumiya IRC plugins
Metadata
Release files for gumiyabot 1.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| gumiyabot-1.1.3.tar.gz | 10.3 kB | Without provenance | Details for gumiyabot-1.1.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| gumiyabot-1.1.3-py3-none-any.whl | Python 3 | none | any | Details for gumiyabot-1.1.3-py3-none-any.whl |
Total release size: 20.9 kB
Release files / gumiyabot-1.1.3.tar.gz
| Download URL | gumiyabot-1.1.3.tar.gz |
|---|---|
| Size | 10.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8ec67c65457c1971719f2830e505d0e6b83124ef31bfa35f31c061472f5da427
|
|
BLAKE2b-256 checksum How to use checksums |
91ccc886815e86a86b10d9ff83600805e3236d136430d4f33656a35387d23e87
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
pdm/2.26.3 CPython/3.14.2 Linux/6.11.0-1018-azure
|
Release files / gumiyabot-1.1.3-py3-none-any.whl
| Download URL | gumiyabot-1.1.3-py3-none-any.whl |
|---|---|
| Size | 10.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e165cb6403fbe53f6fce73df531aaa49ed6be381837f4678a6400fefe06153e6
|
|
BLAKE2b-256 checksum How to use checksums |
bbbc836d9f67ca916ccf5c41bf4b132cdf133babfec67fb82051ea1c4a8aba15
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
pdm/2.26.3 CPython/3.14.2 Linux/6.11.0-1018-azure
|
Security for gumiyabot 1.1.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.