A Yahoo Fantasy Sports bot for Discord
Project description
Harambot
A Yahoo Fantasy sports bot for Discord.
Commands
/ping - Gives the latency of harambot
/RIP - Pay respects
/standings - Returns the current standings of the current league
/roster "Team name" - Returns the roster of the given team
/stats "Player Name" - Returns the details of the given player
/trade - Create poll for latest trade for league approval
/matchups - Returns the current weeks matchups
/waiver - Returns the waiver wire tranasactions from the previous 24 hours
/configure - Configure the bot for your guild
Prerequisites
In order to properly configure your bot you will need the following:
- Discord API Token
- Yahoo API Client Id & Secret
- Yahoo League ID
Discord API Token
- Navigate to https://discord.com/developers/applications and click the "New Application" button
- Give your bot a name
- Navigate to the bot section of your application and click the "Add Bot" button
- Click the "Copy" button under token to copy your bots API token to your clipboard
Yahoo API Client ID & Secret
- Navigate to https://developer.yahoo.com/apps/ and click the "Create an App" button
- Fill out the form as shown below, you can provide your own values for Application Name, Description, and Homepage URL. Once complete click the "Create App" button
- Copy the Client ID and Client Secret values
Yahoo League ID
You can find your league's ID under the settings page of your league
Deployment
Heroku
Harambot now supports heroku deployments!
Click the button at the top and fill out the form with your discord token and yahoo api client key and and secret.
Once the deployment is complete enable the dyno
Install package from PIP
-
Install the harambot package using pip
pip install harambot
-
Export the following environment variables
export DISCORD_TOKEN='[YOUR DISCORD TOKEN]' export YAHOO_KEY='[YOUR YAHOO API CLIENT ID]' export YAHOO_SECRET='[YOUR YAHOO API CLIENT SECRET]' export DATABASE_URL='[YOUR DATABASE URL]'
-
Run the bot
harambot
Run from source
-
Clone this repository
git clone git@github.com:DMcP89/harambot.git cd harambot
-
Export the following environment variables
export DISCORD_TOKEN='[YOUR DISCORD TOKEN]' export YAHOO_KEY='[YOUR YAHOO API CLIENT ID]' export YAHOO_SECRET='[YOUR YAHOO API CLIENT SECRET]' export DATABASE_URL='[YOUR DATABASE URL]'
-
Run the bot.
On local machine
make run
With Docker
make build-image make run-docker
Setup
Add the bot to your guild
- Generate a OAuth url from the discord developer portal using the bot scope and the following permissions:
- Send Messages
- Send Messages in Threads
- Embed Links
- Attach Files
- Read Message History
- Add Reactions
- Use Slash Commands
The permission value should be 277025507392
- Set the gateway intents
In order for the bot to work properly it requires the following intents:
- Sever Members Intent
- Message Content Intent
- Navigate to the generated url in a web browser and authorize the bot for your guild
Configure your guild
- Once your bot is added to your guild you can configure it by sending a direct message to the bot with the following command:
- Use the Login with Yahoo button to authenticate with Yahoo and get your Yahoo token
- Use the Configure Guild button to configure your guild for the bot
- You can reconfigure your guild by running the configure command and clicking the Configure Guild button.
Command Examples
$stats Rashaad Penny
$roster Lamb Chop's Play-Along
$standings
$matchups
$trade
$RIP "My Season"
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.