Я пытаюсь создать код под названием «saynum» с параметром количества (которое является натуральным числом.) Команда должна работать так, как она подсчитывает количество сообщений с момента ее запуска, и отправляет номер на раздор. У меня есть блок, хотя. При попытке запустить async def on_message(message)
(конечно, с @ bot.event) и вызове переменной вне этого я не могу ссылаться на переменную вне функции on_message. Есть ли обходной путь к этому? Этот вопрос, вероятно, будет снижен.
Если для этого нет обходного пути, то может ли эта команда работать? Я понятия не имею, как подойти к нему по-другому.
Вот код, который я использую:
import discord
from discord.ext import commands
import random
import sys
import traceback
Client = discord.Client()
client = commands.Bot(command_prefix='~', case_insensitive=True)
client.remove_command("help")
@client.command()
async def saynum(ctx, amount):
num = 0
if amount.isdigit():
if int(amount) < 1:
await ctx.send("Please put an integer greater than 1.")
else:
@client.event
async def on_message(message):
num += 1
await ctx.send(num)
О, последнее. Моя версия Python 3.6.6, и я использую перезапись discord.py, если вы не можете сказать.