Задать вопрос
  • Пытаюсь сделать бота (на python), который поздравляет с днем рождением. Что неправильно делаю, как исправить (не программист)?

    @skyfizi
    Попробуйте бота данным способом и не забудьте установить библиотеки
    aiogram - pip install aiogram
    sqlalchemy - pip install sqlalchemy
    asyncpg - pip install asyncpg
    apscheduler - pip install apscheduler
    from aiogram import types
    from aiogram.dispatcher import Dispatcher
    from sqlalchemy.ext.asyncio import AsyncSession
    from sqlalchemy.future import select
    from your_module_with_orm import Birthday  # Подставьте свой модуль и класс с днями рождения
    
    async def bd_scheduler(message: types.Message, session: AsyncSession):
        today = datetime.date.today().strftime('%d-%m')
        for bd in await orm_get_birthdays(session):
            if today == bd.birthday.strftime('%d-%m'):
                await message.answer(f"Сегодня день рождения у {bd.name}! Поздравляем!")
    
    async def orm_get_birthdays(session: AsyncSession):
        query = select(Birthday)
        result = await session.execute(query)
        return result.scalars().all()
    
    async def main():
        # Ваша существующая инициализация dp и scheduler
    
        scheduler.add_job(bd_scheduler, trigger='interval', seconds=5,
                          kwargs={"message": types.Message, 'session': AsyncSession})
        scheduler.start()
    Ответ написан
  • Как создать слеш команды на discord.py?

    @skyfizi
    Попробуйте данный способ и не забудьте скачать библиотеки discord.py, Py-Cord
    from ast import alias
    from dis import disco
    from http import client
    from optparse import Option
    import discord
    import interactions
    from requests import options
    from discord.commands import Option
    from discord.ext import commands
    from discord import guild
    from config import settings
    
    bot = commands.Bot()
    
    @bot.slash_command(id_server = [settings['id_server']])
    async def hello(ctx: discord.ApplicationContext, user: discord.Member):
        await ctx.respond(f"Приветствую вас <@{user.id}>")
    
    bot.run(settings['token'])
    Ответ написан
    Комментировать