PastaBotA copypasta bot that fetches copypasta... as a Discord message.
Made with ♥ for all the copypasta lovers.
Adding the bot to a server
Anyone is welcome to add the bot!
Here is the link to authorize:
It should have the following permissions in the server:
- Send Messages
- Embed Links
- Use External Emojis
Command Prefixes =
pasta!get [hot|top|new] <count>Get a singular copypasta that is <count> posts from the top.
pasta!list [hot|top|new] <count>Lists title of the top <count> copypasta posts.
pasta!rand [hot|top|new] [<count>]Get a random copypasta where <count> is the max. (Default is 50)
pasta!show <url>Sends a message with the contents of post body from the URL supplied
Getting API keys
The script currently needs some API credentials from both Discord and Reddit.
Discord Client ID
Go to the Discord API portal: https://discord.com/developers/applications
Click "New Application" button on top right, name it anything
In the newly created application, go to the "Bot" tab on the menu on the left
Under "Build A Bot" there will be a token label with a Copy button. Copy that token
Set your environment variable
Reddit ID and Secret
Go to the Reddit app portal: https://www.reddit.com/prefs/apps/
Create a "script" type key and name it whatever
Copy your Client ID (not labelled, but found in bold under the name of the script) and the Client Secret (is labelled).
Set environment variables
REDDIT_ID=<YOUR_CLIENT_ID>and the Client Secret as
Storing credentials using dotenv
Environment variables can be stored in a
.env in the directory where the
project is run. In the future, I may decide to use a configuration file instead.
Running the bot
In the examples below, I assume that all API credentials are in their
corresponding environment variables or in a
git clone https://github.com/lemonase/pastabot.git cd pastabot python -m venv venv source venv/bin/activate pip install -r requirements.txt python3 src/bot.py
Running with Docker
Running with a
.env file in the current directory:
docker run -d --env-file $(PWD)/.env jamesdixon/pastabot:latest
Running with environment variables:
docker run -d -e REDDIT_ID=<YOUR_ID> \ -e REDDIT_SECRET=<YOUR_SECRET> \ -e DISCORD_BOT_TOKEN=<YOUR_TOKEN> \ jamesdixon/pastabot
- Upgrade to AsyncPRAW