An actively developed Self-hostable FOSS pokemon recognition and assistant bot for discord and made more specifically for the discord pokemon game "Poketwo".
It can identify Pokémon from Pokétwo spawns, ping a role for rare and regional spawns and pin them, other many features!and it is fully automated and updated.
Made with ❤️ in Python
Skip to Usage/installation
- ⭐ can be used to make CUSTOM bots for your server
- ⭐ completely FOSS i.e. Free and Open Source
- ⭐ 'Ai' recognition
- ⭐ built-in Starboard
- Rare and regional ping
- catch logging
- built-in hint solver
- both automatic & manual identification support
- spawn logging
- Pretty embeds
- Self-hostable
- fully customizable
- config based - no coding skills required
- easy to use/Beginner-Friendly
- ezy catch - just copy and paste
- Automatic
- Light and not system heavy
- Cross platform
- Ai identification <- v1.0
- Rare ping <- v2.0
- mythic
- legendary
- ultra beast
- regional
- Embeds <- v3.0
- Hint solver <- v4.0
- StarBoard <- v5.0
- catch logs <- v6.0
- spawn logs <- v7.0
- commands <- v8.0
- help command
- identify command
- correct tier detection <- v9
- exact-match tier lists instead of substring matching
- tier lists checked against the model's own class names
- recognition moved off the event loop so spawns stop freezing the bot
- better setup and fewer surprises <- v9.1
- config checked at startup, with a report
- one embed per hint instead of one per match
- star reaction on the spawn
- log file
- per-server config
- right now the starboard channel and ping roles are global, so if the bot is in two servers, spawns from one get starred and pinged in the other
- settings should be stored per server instead
- editable config
- fixing one wrong ID currently means deleting config.ini and re-answering every question, token included
- change a single setting without redoing setup
- say when it is unsure
- use the recognition confidence, so a low-confidence guess reads as "probably X" instead of a plain statement
- read settings from environment variables too
- keeps config.ini as the default, but makes docker and hosted deploys possible
- more..
download the OutN bot by
- make a discord bot - guide / official page
- star this repo 😉
plz - follow any of the below methods for usage
extract the folder just run 'run.bat'
it will install dependencies and run the program by itself
for further usage i.e. not the first run and the dependencies are all already installed
you can just run 'just_run.bat' which will only run main.py and nothing else
- requires
- python to be installed
extract the folder and open a command prompt window in it
- install dependencies using:
pip install -r requirements.txt
- then run the program using:
python main.py
the program will ask for your bot token, role ids (for rare and regional ping) and channel id (for starboard, catch and spawn logger) on initialisation and then will save it to 'config.ini' so that it does not ask you every time it runs.
Note
the token is only saved locally and is not sent anywhere.
Caution
make sure not to upload 'config.ini' anywhere as it contains your bot token. the repo's '.gitignore' already excludes it, so it will not be committed by accident.
Note
when you create the bot, enable the Message Content intent in the Discord developer portal. that is the only privileged intent OutN needs.
run the self-check before opening a pull request:
python test_outn.py
it needs no third-party packages and takes about a second. it verifies that every name in 'data/pokes/*' is a real class the model can actually predict, that tier lookup is correct, and that the hint solver works. if you edit any file in 'data/pokes/', this is what catches a typo before it silently costs someone a rare ping.
Q) I got this error ModuleNotFoundError: No module named '<module name>' what do i do?
A) do pip install <modulename>
rest -> you tell me 😆
All and every kind of feedback is welocome. And any constructive criticism is appreciated.
If you have any kind of feedback or need help feel free to contact me:
Contributions are always welcome!
currently you can:
- contribute by fixing any bugs in the code you find
- suggesting features
Please Adhere to the Code of Conduct
- you are free to use and share the software as long as you
give creditto the developer a.k.a myself which is only fair. - you have no permission from the creator of the software to modify, or share the software
without creditsorwithout permission. Although a code host such as GitHub may allow you to view and fork the code, this does not imply that you are permitted to modify, or share the software for any purpose or without permission.