Я создаю бота для Discord. Бот должен сохранить некоторую информацию в некоторых внутренних переменных, чтобы к ней можно было получить доступ позже.
Для этого я структурирую ее как класс (в отличие от многих примеров, когда команды находятся вне класса определение). Однако я обнаружил, что когда вы используете декоратор @commands.command(name='test'), метод становится своего рода «статическим» методом и больше не получает объект в качестве первого ввода.
Принимая во внимание это, могу ли я каким-либо образом получить доступ к свойствам класса (например, an_instance_property в примере ниже) и/или методам класса (например, a_class_method в примере ниже) ?
Если это неправильный подход, что может быть лучшим подходом для бота с внутренним состоянием?
import discord
from discord.ext import commands
with open('TOKEN', 'r') as f:
TOKEN = f.read()
class mybot(commands.Bot):
def __init__(self):
intents = discord.Intents.default()
super().__init__(command_prefix="!", intents=intents)
self.add_command(self.test)
self.an_instance_property = [] #
Подробнее здесь: https://stackoverflow.com/questions/789 ... ds-command
Доступ к свойствам или методам класса из команды.Command ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение