Вот код простенького бота, когда я пишу в дискорд комаду он не отвечает, ошибку в консоль не выводит.
import discord
import random
from discord_components import DiscordComponents, Button, ButtonStyle
PATH = "/Users/mihail/Desktop/chat_botik/"
client = discord.Client()
score = 0
file = open("token_discord.txt", "r", encoding="UTF-8")
token = file.readline()
file.close()
@client.event
async def on_ready():
DiscordComponents(client)
await client.change_presence(status=discord.Status.dnd, activity=discord.Game("программиста"))
print("Бот запущен")
def read_file(file_name):
file = open(PATH + file_name, "r", encoding="UTF-8")
list = file.read().split("\n")
file.close()
return list
def get_random_answer(filename):
list = read_file(filename)
item = random.choice(list)
return item
def contain_str(mes, string):
return mes.content.lower().find(string) != -1
def def_string(list):
string = ""
for item in list:
string += item + "\n"
return string
async def on_message(message):
if contain_str(message, "!help"):
embed = discord.Embed(
colour = discord.Colour.dark_orange(),
description = def_string(read_file("help.txt")),
title = "`Основные команды`"
)
embed.set_author(name=message.author.name, icon_url=message.author.avatar_url)
embed.set_thumbnail(url="https://cdn.discordapp.com/app-icons/1068917659300798605/7f8a3f678c2a85e2aaa9aa4c19cbe3fb.png?size=256")
embed.set_image(url="https://antislang.ru/wp-content/uploads/%D0%BA%D1%87%D0%B0%D1%83-1.jpg")
embed.set_footer(text=f"Запрос от {message.author}", icon_url=message.author.avatar_url)
await message.channel.send(embed=embed)
elif contain_str(message, "!clear"):
await message.channel.purge(limit= int(message.content[6: message.content.find("<") - 1]) + 1)
elif contain_str(message, "clean"):
await message.channel.purge()
elif contain_str(message, "!games"):
await message.channel.send(
embed=discord.Embed(title="Выбери игру"),
components = [
Button(style=ButtonStyle.grey, label="Казино", emoji=""),
Button(style=ButtonStyle.grey, label="Бросить игральный кубик", emoji=""),
Button(style=ButtonStyle.grey, label="Магический шар", emoji="")
]
)
br = await client.wait_for("button_click")
if br.component.label == "Казино":
await message.channel.purge(limit=2)
r1 = random.randint(1, 2)
if r1 == 1:
await br.respond(content = "Вы победили")
else:
await br.respond(content = "Вы проиграли")
elif br.component.label == "Бросить игральный кубик":
r1 = random.randint(1, 6)
await br.respond(content = r1)
elif br.component.label == "Магический шар":
await br.respond(content = get_random_answer("ball.txt"))
client.run(token)