(редактировать) не реагировать ни на какие события в Cog (nextcord)Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 (редактировать) не реагировать ни на какие события в Cog (nextcord)

Сообщение Anonymous »

Мой бот не реагирует ни на одно событие в nextcord. Он установлен в винтике. Вне процессоров (например, main.py) Everthng работает нормально, но в процессоре никакие события не регистрируются и не обрабатываются. Да, у бота есть необходимые разрешения (администратор).
Вот мой скрипт загрузки винтика

Код: Выделить всё

@client.event
async def on_ready():
for filename in os.listdir('cogs'):
if filename.endswith('.py'):
try:
client.load_extension(f'cogs.{filename[:-3]}')
except Exception as exception:
traceback.print_exc()
log.log(exception)
channel = client.get_channel(config.ERROR_LOG_CHANNEL_ID)
embed = nextcord.Embed(title=f"Failed to load {filename[:-3]}.",
description=f"{exception")
await channel.send(embed=embed)
Вот фрагмент шестеренки:

Код: Выделить всё

import traceback
import asyncio
import nextcord
from nextcord.ext import commands
from static import config
from schildi import utils
import datetime
import os
from schildi import log

def user_action_embed(action: str, user: nextcord.Member, color: int, extra: str | None):
embed = nextcord.Embed(title="Audit Log Eintrag erstellt", description=action,
timestamp=datetime.datetime.now(), color=color)
embed.add_field(name="User", value=f"{user.mention} - {user.name}\n||{user.id}||", inline=False)
if extra:
embed.add_field(name="Zusatz", value=extra, inline=False)
return embed

class log_listener(commands.Cog):
def __init__(self, client):
self.client = client

@commands.Cog.listener()
async def on_guild_audit_log_entry_create(self, entry: nextcord.AuditLogEntry):
print(entry.action)
log_channel = self.client.get_channel(config.AUDIT_LOG_CHANNEL)
if entry.action == nextcord.AuditLogAction.thread_create:
await log_channel.send(embed=user_action_embed(
action="Thread create",
user=entry.user,
extra=f"{entry.extra.channel.mention}",
color=0x3efa5e))
if entry.action == nextcord.AuditLogAction.thread_delete:
await log_channel.send(embed=user_action_embed(
action="Thread delete",
user=entry.user,
extra=f"{entry.extra.channel.mention}",
color=0x3efa5e))
if entry.action == nextcord.AuditLogAction.thread_update:
await log_channel.send(embed=user_action_embed(
action="Thread create",
user=entry.user,
extra=f"{entry.extra.channel.mention}",
color=0x3efa5e))

def setup(client):
client.add_cog(log_listener(client))
Я делаю что-то не так?


Подробнее здесь: https://stackoverflow.com/questions/786 ... g-nextcord
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Не реагирует ни на какие события в Cog
    Anonymous » » в форуме Python
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Музыкальный бот nextcord.py, как играть в очередь
    Anonymous » » в форуме Python
    0 Ответы
    52 Просмотры
    Последнее сообщение Anonymous
  • Как создать встроенную таблицу лидеров, используя базу данных MySQL и NextCord?
    Anonymous » » в форуме Python
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Как создать встроенную таблицу лидеров, используя базу данных MySQL и NextCord?
    Anonymous » » в форуме MySql
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Загрузка Pycord Cog дает TypeError: Object Nonetype не может быть использован в выражении «a await», несмотря на использ
    Anonymous » » в форуме Python
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»