mirror of
https://github.com/runyanjake/discord.git
synced 2025-10-04 15:27:28 -07:00
Add basic PWSBot
This commit is contained in:
parent
269997f97e
commit
c3643f5d0c
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
env/
|
||||||
|
pwsBot/resource/__pycache__/
|
||||||
|
token.json
|
28
README.md
28
README.md
@ -1,2 +1,30 @@
|
|||||||
# discord
|
# discord
|
||||||
Some assorted discord bots.
|
Some assorted discord bots.
|
||||||
|
|
||||||
|
### Env Setup
|
||||||
|
|
||||||
|
Env creation: `python3.11 -m venv env`, `source env/bin/activate`
|
||||||
|
|
||||||
|
Requirements: `pip install -r requirements.txt`
|
||||||
|
|
||||||
|
### Discord Setup
|
||||||
|
|
||||||
|
`https://discord.com/developers/applications`
|
||||||
|
|
||||||
|
`New Application > Create`, fill out the information.
|
||||||
|
|
||||||
|
Copy bot's token or regenerate it from the main page. Place this in a file called `token.json` in the root directory here or modify `resource/credentials.py` to find it:
|
||||||
|
|
||||||
|
`resource/credentials.py`:
|
||||||
|
```
|
||||||
|
{
|
||||||
|
"token":"AAAAAAAAAAAAAA..."
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
If you need to configure permissions for the bot itself, that happens in the `Bot` tab. Can be done later.
|
||||||
|
|
||||||
|
For now, go to `OAuth2 > Oauth2 URL Generator` and select Bot with the desired permissions. Can be done later.
|
||||||
|
|
||||||
|
Invite bot to server using the url generated above. I've set the redirect URL to `https://github.com/runyanjake/discord` for after users authenticate with OAuth.
|
||||||
|
|
||||||
|
11
pwsBot/Dockerfile
Normal file
11
pwsBot/Dockerfile
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
FROM python:3.11
|
||||||
|
|
||||||
|
WORKDIR /discord
|
||||||
|
|
||||||
|
COPY ./ /discord
|
||||||
|
|
||||||
|
EXPOSE 3000
|
||||||
|
|
||||||
|
WORKDIR /discord
|
||||||
|
|
||||||
|
CMD [ "python", "bot.py" ]
|
25
pwsBot/bot.py
Normal file
25
pwsBot/bot.py
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
import discord
|
||||||
|
import sys
|
||||||
|
|
||||||
|
from resource.credentials import get_token
|
||||||
|
|
||||||
|
PWS_command_prefix = '/pws '
|
||||||
|
|
||||||
|
client = discord.Client()
|
||||||
|
client_token = get_token()
|
||||||
|
|
||||||
|
@client.event
|
||||||
|
async def on_ready():
|
||||||
|
print('Logged in as {0.user}'.format(client))
|
||||||
|
|
||||||
|
@client.event
|
||||||
|
async def on_message(message):
|
||||||
|
if message.author == client.user:
|
||||||
|
return
|
||||||
|
|
||||||
|
if message.content.startswith(PWS_command_prefix):
|
||||||
|
print('Received Command ' + str(message.content))
|
||||||
|
await message.channel.send('Message Received!')
|
||||||
|
|
||||||
|
print("Authenticating with token " + str(client_token))
|
||||||
|
client.run(os.getenv(client_token))
|
10
pwsBot/docker-compose.yml
Normal file
10
pwsBot/docker-compose.yml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
version: "3"
|
||||||
|
|
||||||
|
services:
|
||||||
|
website:
|
||||||
|
image: pwsBot:latest
|
||||||
|
container_name: pwsBot
|
||||||
|
build: .
|
||||||
|
ports:
|
||||||
|
- 8000:8000
|
||||||
|
|
0
pwsBot/resource/__init__.py
Normal file
0
pwsBot/resource/__init__.py
Normal file
19
pwsBot/resource/credentials.py
Normal file
19
pwsBot/resource/credentials.py
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
import json
|
||||||
|
import sys
|
||||||
|
|
||||||
|
TOKEN = 'token'
|
||||||
|
|
||||||
|
def get_token():
|
||||||
|
try:
|
||||||
|
with open(file_path, 'r') as file:
|
||||||
|
data = json.load(file)
|
||||||
|
if TOKEN in data:
|
||||||
|
return data[TOKEN]
|
||||||
|
else:
|
||||||
|
print("Bot token file missing " + str(TOKEN) + " field. See README.")
|
||||||
|
except FileNotFoundError:
|
||||||
|
print("No bot token file. See README.")
|
||||||
|
except json.JSONDecodeError:
|
||||||
|
print("Invalid JSON format for bot token file. See README.")
|
||||||
|
|
||||||
|
sys.exit(1)
|
1
requirements.txt
Normal file
1
requirements.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
discord.py==2.3.2
|
Loading…
x
Reference in New Issue
Block a user