Grendel is a discord bot.
It is meant to provide information about Maplestory, and may typically be invoked using various slash commands. As a proof of concept, it will only fetch ranking information directly from Nexon, for now. In the future, more functionality will be added, such as the ability to request specific information about game items, NPCs, and quests.
- Python version 3.10+ - required for the
discord-py-interactionspackage discord-py-interactions- A highly extensible, easy to use, and feature complete framework for Discord.selenium- Python language bindings for the Selenium WebDriverbs4- Package to handle XPath and Html pathing
Python3.10+ is required for the bot to run.
Run python --version to verify this.
Download and install it if the python version is insufficient.
- Clone this repository
git clone https://github.com/AE-Mapuro/Maple-Bot.git - Navigate to the folder
cd Maple-Bot - Instantiate a python virtual environment[1]
python -m venv pyenv - Activate the virtual environment[2]
- Windows -
.\pyenv\Scripts\activate - Linux/Mac -
source ./pyenv/bin/activate
- Windows -
- Install the required python packages
pip install -r requirements.txt - Create an
env.pyfile to contain the bot credentials. Do this by copying the existing barebonesenv_template.pyfile.
cp resources/env_template.py resources/env.py - Configure
resources/env.pywith the appropriate credentials:discord_bot_token- String value of your bot token from the discord developer portaldiscord_bot_guild- String Guild Name - Optionaldiscord_guild_ids- List of guild ids the bot has access to
- Start up the bot
python -m src.bot.py
[1] Instead of pyenv, you can specify a literal path to where you want the virtual environment folder to reside (e.g. ~/path/to/env_fol)
[2] Replace the pyenv path with the actual path to your virtual environment folder, if necessary
The commands in this section are for retrieving player data based on several parameters
Additional Commands to be added