b00tyCha1n
@b00tyCha1n
Stupidity - key to the answer

Почему не работает бот для Discord?

Почему бот не выводит информацию?

Код:
@bot.event
async def bdays4(ctx):
    bdays = {'Kenshi': '12.08.1997',
             'Broody': '11.11.1009',
             'Melanie': '22.01.1941',
             'Blueface Baby': '18.08.2020'}
    global bday_name

    for bday_name in bdays.keys():
        pass

    for dates in bdays.values():
        frrr = dates.split('.')
        day = frrr[0]
        month = frrr[1]
        year = frrr[2]
        bday_date = datetime.date(year=int(year), month=int(month), day=int(day))
        if bday_date == today_date:     # today_date = datetime.date.today()
            await ctx.send(embed=discord.Embed(description=f'Happy birthday {bday_name}', colour=discord.Color.green()))
  • Вопрос задан
  • 247 просмотров
Решения вопроса 1
Декоратор bot.event используется только для событий.

Для команд необходим декоратор @bot.command() или @commands.command() в модулях.

А так же: Сравнение текущей даты с датой рождения - некорректно. Дата с текущим годом != дате с годом рождения.

from datetime import date

import discord
from datetime import date


@bot.command()
async def bdays4(ctx):
    cur_year = date.today().year
    bdays = {
        "Kenshi": date(day=12, month=8, year=1997),
        "Broody": date(day=11, month=11, year=1009),
        "Melanie": date(day=22, month=1, year=1941),
        "Blueface Baby": date(day=18, month=8, year=2020),
    }

    for bday_name, date in bdays.items():
        bday = date.update(year=cur_year)
        if bday == date.today():
            await ctx.send(
                embed=discord.Embed(
                    description=f"Happy birthday {bday_name}",
                    colour=discord.Color.green(),
                )
            )
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы