
# Harambot
_An interactive Yahoo Fantasy sports bot for Discord._
   
[](http://harambot.io)
## Commands
/ping - Gives the latency of harambot.
/RIP - Pay respects.
/standings - Returns the current standings of the current league.
/roster Team - Returns the roster of the given team.
/stats Player - Returns the details of the given player.
/trade - Create a poll for latest trade for league approval.
/matchups week - Returns the matchups for the given week, defaults to the current week.
/waiver days - Returns the waiver wire transactions from the previous number of days.
/configure - Configure the bot for your guild.
/reports - Set what channel transaction reports should be sent to.
/league - Set what league the bot should use for commands.
You can find example output of these commands [here](https://github.com/DMcP89/harambot/wiki#command-examples)
## Roll your own instance
### Prerequisites
In order to properly configure your bot you will need the following:
* [Discord API Token](https://github.com/DMcP89/harambot/wiki/Prerequisites#discord-api-token)
* [Yahoo API Client Id & Secret](https://github.com/DMcP89/harambot/wiki/Prerequisites#yahoo-api-client-id--secret)
* [Yahoo League ID](https://github.com/DMcP89/harambot/wiki/Prerequisites#yahoo-league-id)
_Visit our [wiki](https://github.com/DMcP89/harambot/wiki) for a step by step guide on how to obtain these values._
#### Generate a key for your local database
Parts of the database are encrypted, which means we need to generate a key. Using the python interactive interpreter, you can generate one by running these three lines inside the interpreter:
```
from cryptography.fernet import Fernet
fernet_key = Fernet.generate_key()
print(fernet_key.decode())
```
Your key will appear below.
### Run the bot on [Render](https://render.com/)
[](https://render.com/deploy?repo=https://github.com/DMcP89/harambot)
### Run the bot locally using pip package
1. Install the harambot package using pip
pip install harambot
2. 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]' # which can be a pathway to a file, such as 'sqllite:///harambot.db'
export HARAMBOT_KEY='[YOUR ENCRYPTION KEY]' # A URL-safe base64-encoded 32-byte key
```
3. Run the bot
harambot
### Run the bot locally using docker
1. Pull the latest image from docker hub
docker pull dmcp89/harambot
2. 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]'
export HARAMBOT_KEY='[YOUR ENCRYPTION KEY]' # A URL-safe base64-encoded 32-byte key
```
3. Run the bot
docker run --name harambot \
-e DISCORD_TOKEN=$DISCORD_TOKEN \
-e YAHOO_KEY=$YAHOO_KEY \
-e YAHOO_SECRET=$YAHOO_SECRET \
-e DATABASE_URL=$DATABASE_URL \
-e HARAMBOT_KEY=$HARAMBOT_KEY \
--rm dmcp89/harambot
## Setup
### Add the bot to your guild
1. 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
* Manage WebHooks
The permission value should be 277562378304

2. 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 using the /configure command:

* Use the Login with Yahoo button to authenticate with Yahoo and get your Yahoo token (this is a one time 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.

Raw data
{
"_id": null,
"home_page": "http://harambot.io",
"name": "harambot",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.10",
"maintainer_email": null,
"keywords": "yahoo, yahoo fantasy sports, fantasy football, fantasy basketball, fantasy baseball, fantasy hockey, discord, bot",
"author": "DMcP89",
"author_email": "davemcpherson@wochstudios.com",
"download_url": "https://files.pythonhosted.org/packages/da/b1/7f3d4bc81755d2d61951ec75fc265fdabe71798170a839ec07402aa1403c/harambot-0.5.2.post2.tar.gz",
"platform": null,
"description": "\n# Harambot\n_An interactive Yahoo Fantasy sports bot for Discord._\n\n   \n\n\n\n\n\n[](http://harambot.io)\n\n\n\n\n\n## Commands\n /ping - Gives the latency of harambot.\n /RIP - Pay respects.\n /standings - Returns the current standings of the current league.\n /roster Team - Returns the roster of the given team.\n /stats Player - Returns the details of the given player.\n /trade - Create a poll for latest trade for league approval.\n /matchups week - Returns the matchups for the given week, defaults to the current week.\n /waiver days - Returns the waiver wire transactions from the previous number of days.\n /configure - Configure the bot for your guild.\n /reports - Set what channel transaction reports should be sent to.\n /league - Set what league the bot should use for commands.\n\nYou can find example output of these commands [here](https://github.com/DMcP89/harambot/wiki#command-examples)\n\n\n## Roll your own instance\n\n### Prerequisites\n\nIn order to properly configure your bot you will need the following:\n\n* [Discord API Token](https://github.com/DMcP89/harambot/wiki/Prerequisites#discord-api-token)\n* [Yahoo API Client Id & Secret](https://github.com/DMcP89/harambot/wiki/Prerequisites#yahoo-api-client-id--secret)\n* [Yahoo League ID](https://github.com/DMcP89/harambot/wiki/Prerequisites#yahoo-league-id)\n\n_Visit our [wiki](https://github.com/DMcP89/harambot/wiki) for a step by step guide on how to obtain these values._\n\n#### Generate a key for your local database\n\nParts of the database are encrypted, which means we need to generate a key. Using the python interactive interpreter, you can generate one by running these three lines inside the interpreter:\n\n```\nfrom cryptography.fernet import Fernet\nfernet_key = Fernet.generate_key()\nprint(fernet_key.decode())\n```\n\nYour key will appear below.\n\n### Run the bot on [Render](https://render.com/)\n\n[](https://render.com/deploy?repo=https://github.com/DMcP89/harambot)\n\n### Run the bot locally using pip package\n\n1. Install the harambot package using pip\n\n pip install harambot\n\n2. Export the following environment variables\n\n ```\n export DISCORD_TOKEN='[YOUR DISCORD TOKEN]'\n export YAHOO_KEY='[YOUR YAHOO API CLIENT ID]'\n export YAHOO_SECRET='[YOUR YAHOO API CLIENT SECRET]'\n export DATABASE_URL='[YOUR DATABASE URL]' # which can be a pathway to a file, such as 'sqllite:///harambot.db'\n export HARAMBOT_KEY='[YOUR ENCRYPTION KEY]' # A URL-safe base64-encoded 32-byte key\n ```\n\n3. Run the bot\n\n harambot\n\n### Run the bot locally using docker\n\n1. Pull the latest image from docker hub\n\n docker pull dmcp89/harambot\n\n2. Export the following environment variables\n\n ```\n export DISCORD_TOKEN='[YOUR DISCORD TOKEN]'\n export YAHOO_KEY='[YOUR YAHOO API CLIENT ID]'\n export YAHOO_SECRET='[YOUR YAHOO API CLIENT SECRET]'\n export DATABASE_URL='[YOUR DATABASE URL]'\n export HARAMBOT_KEY='[YOUR ENCRYPTION KEY]' # A URL-safe base64-encoded 32-byte key\n ```\n\n3. Run the bot\n\n docker run --name harambot \\\n -e DISCORD_TOKEN=$DISCORD_TOKEN \\\n -e YAHOO_KEY=$YAHOO_KEY \\\n -e YAHOO_SECRET=$YAHOO_SECRET \\\n -e DATABASE_URL=$DATABASE_URL \\\n -e HARAMBOT_KEY=$HARAMBOT_KEY \\\n --rm dmcp89/harambot\n\n\n## Setup\n\n### Add the bot to your guild\n1. Generate a OAuth url from the discord developer portal using the bot scope and the following permissions:\n\n* Send Messages\n* Send Messages in Threads\n* Embed Links\n* Attach Files\n* Read Message History\n* Add Reactions\n* Use Slash Commands\n* Manage WebHooks\n\nThe permission value should be 277562378304\n\n\n\n2. Navigate to the generated url in a web browser and authorize the bot for your guild\n\n\n\n\n### Configure your guild\n\n* Once your bot is added to your guild you can configure it by using the /configure command:\n\n\n\n\n* Use the Login with Yahoo button to authenticate with Yahoo and get your Yahoo token (this is a one time token)\n\n\n\n\n* Use the Configure Guild button to configure your guild for the bot\n\n\n\n\n\n* You can reconfigure your guild by running the configure command and clicking the Configure Guild button.\n\n\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A Yahoo Fantasy Sports bot for Discord",
"version": "0.5.2.post2",
"project_urls": {
"Homepage": "http://harambot.io",
"Repository": "https://github.com/DMcP89/harambot"
},
"split_keywords": [
"yahoo",
" yahoo fantasy sports",
" fantasy football",
" fantasy basketball",
" fantasy baseball",
" fantasy hockey",
" discord",
" bot"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d31afce056f80c2e11a7b71e3e08014bc5af2a9d9b99e3ac82d0daa74220ca7b",
"md5": "61a979bd49fe96aa4690d9475b9dccee",
"sha256": "b696ed39b0ff9c31582c220d3ddd1003d0d9ad533e3abee7a9f8d3dd3954687d"
},
"downloads": -1,
"filename": "harambot-0.5.2.post2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "61a979bd49fe96aa4690d9475b9dccee",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.10",
"size": 20989,
"upload_time": "2025-09-03T21:18:16",
"upload_time_iso_8601": "2025-09-03T21:18:16.062292Z",
"url": "https://files.pythonhosted.org/packages/d3/1a/fce056f80c2e11a7b71e3e08014bc5af2a9d9b99e3ac82d0daa74220ca7b/harambot-0.5.2.post2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "dab17f3d4bc81755d2d61951ec75fc265fdabe71798170a839ec07402aa1403c",
"md5": "4a5f7237b67a1acd835d996cf0390b2c",
"sha256": "2517be2a9ac681af6f2a0a25d9b5d326b22964e6fbe76d84206a97584a2636be"
},
"downloads": -1,
"filename": "harambot-0.5.2.post2.tar.gz",
"has_sig": false,
"md5_digest": "4a5f7237b67a1acd835d996cf0390b2c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.10",
"size": 6337033,
"upload_time": "2025-09-03T21:18:17",
"upload_time_iso_8601": "2025-09-03T21:18:17.637750Z",
"url": "https://files.pythonhosted.org/packages/da/b1/7f3d4bc81755d2d61951ec75fc265fdabe71798170a839ec07402aa1403c/harambot-0.5.2.post2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-03 21:18:17",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "DMcP89",
"github_project": "harambot",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "harambot"
}