DiscordBot/bot.py
2023-11-14 11:13:18 +01:00

48 lines
1.7 KiB
Python

from genericpath import exists
import random
import subprocess
import json
import discord
from discord import app_commands
with open('config.json', 'r') as f:
data = json.load(f)
if exists('config.local.json'):
with open('config.local.json') as f:
data = json.load(f)
intents = discord.Intents.default()
intents.message_content = True
client = discord.Client(intents=intents)
tree = app_commands.CommandTree(client)
description = '''Bot to end all bots'''
# bot = commands.Bot(command_prefix='?', description=description, intents=intents)
@client.event
async def on_ready():
await tree.sync(guild=discord.Object(id='745287426402156555'))
print(f'Logged in as {client.user}')
print('------')
@tree.command(name = 'cool', description = 'Check how cool you are!', guild=discord.Object(id='745287426402156555'))
async def cool(ctx: discord.Interaction):
cool_factor = round(random.uniform(0, 100), 2)
await ctx.response.send_message(f'{ctx.user.display_name} is {cool_factor}% cool!')
@tree.command(name = 'update', description = 'Pulls the latest version from the repository', guild=discord.Object(id='745287426402156555'))
@app_commands.checks.has_role(745295653651087381)
async def update(ctx: discord.Interaction):
await ctx.response.send_message('Updating, see you on the other side')
subprocess.run('./update.sh')
await ctx.response.send_message('Done')
@update.error
async def update_error(ctx: discord.Interaction, error):
if isinstance(error, discord.app_commands.MissingRole):
text = "Sorry {}, you do not have permissions to do that!".format(ctx.user)
await ctx.response.send_message(text)
client.run(data['token'])