#python #python-3.x #discord #discord.py #discord.py-rewrite
#python #python-3.x #Discord #discord.py
Вопрос:
Как я могу проверить, разрешено ли моему боту отправлять и читать сообщения в определенном канале? Мой код прямо сейчас:
channel = client.get_channel('''channel id''')
print(channel.permissions_for(client.user))
Но результирующая ошибка находится в abc.py часть discord, и в ней говорится:
print(channel.permissions_for(client.user))
File "/opt/virtualenvs/python3/lib/python3.8/site-packages/discord/channel.py", line 146, in permissions_for
base = super().permissions_for(member)
File "/opt/virtualenvs/python3/lib/python3.8/site-packages/discord/abc.py", line 486, in permissions_for
roles = member._roles
AttributeError: 'ClientUser' object has no attribute '_roles'
Несмотря на то, что у бота есть роль «боты». Любой ввод будет высоко оценен. Спасибо!
Ответ №1:
Я рекомендую вам полностью и четко прочитать документацию [has_permission] и [permission_property] .
Он ответит на ваши запросы!
Комментарии:
1. Спасибо за ресурсы! Дело в том, что я пытаюсь создать прямую команду для моего бота, в которой пользователи могут указать боту направлять свои будущие сообщения на определенный канал. Поэтому мне пришлось бы проверять разрешения ботов для определенного канала в команде, и единственными проверками, которые я смог найти, были декораторы команд, которые не указывают конкретный канал. Существуют ли какие-либо функции, которые возвращают разрешения ботов в текстовом канале? Спасибо!