Код: Выделить всё
import random
def handle_response(message) -> str:
p_message = message.lower()
if "gub" in p_message:
return "GUB."
if "roll" in p_message:
result = random.randrange(1,6)
return f"Rolling a d6...\nYou rolled a {str(result)}!"
Код: Выделить всё
import discord
import responses
intents = discord.Intents.default()
intents.message_content = True
async def send_message(message, user_message, is_private):
try:
response = responses.handle_response(user_message)
await message.author.send(response) if is_private else await message.channel.send(response)
except Exception as e:
print(e)
def run_discord_bot():
token = "nope"
client = discord.Client(intents=intents)
@client.event
async def on_ready():
print(f'{client.user} is now running.')
@client.event
async def on_message(message):
if message.author == client.user:
return
username = str(message.author)
user_message = str(message.content)
channel = str(message.channel)
print(f"{username} said: '{user_message}' ({channel})")
if user_message[:4] == 'GUB!':
user_message = user_message[4:]
await send_message(message, user_message, is_private=False)
else:
pass
client.run(token)
Смешное изменение строки префикса сообщения пользователя и первой строки оператора if на одну букву нарушает обнаружение префикса, не работает для новых или старых строк.
Подробнее здесь: https://stackoverflow.com/questions/787 ... -returning