Задать вопрос
  • Как внедрить меню dropdown?

    fenrir1121
    @fenrir1121 Куратор тега discord.py
    Начни с документации
    Как внедрить меню dropdown?
    Как написано в документации и примерах использования dropdown

    (желательно ответьте куском кода )

    Код из примера
    import discord
    from discord.ext import commands
    
    class Dropdown(discord.ui.Select):
        def __init__(self):
            options = [
                discord.SelectOption(label='Red', description='Your favourite colour is red', emoji=''),
                discord.SelectOption(label='Green', description='Your favourite colour is green', emoji=''),
                discord.SelectOption(label='Blue', description='Your favourite colour is blue', emoji=''),
            ]
            super().__init__(placeholder='Choose your favourite colour...', min_values=1, max_values=1, options=options)
    
        async def callback(self, interaction: discord.Interaction):
            await interaction.response.send_message(f'Your favourite colour is {self.values[0]}')
    
    
    class DropdownView(discord.ui.View):
        def __init__(self):
            super().__init__()
            self.add_item(Dropdown())
    
    
    class Bot(commands.Bot):
        def __init__(self):
            intents = discord.Intents.default()
            intents.message_content = True
    
            super().__init__(command_prefix=commands.when_mentioned_or('$'), intents=intents)
    
        async def on_ready(self):
            print(f'Logged in as {self.user} (ID: {self.user.id})')
            print('------')
    
    
    bot = Bot()
    
    
    @bot.command()
    async def colour(ctx):
        view = DropdownView()
        await ctx.send('Pick your favourite colour:', view=view)
    
    bot.run('token')
    Ответ написан
    Комментировать
  • Как сделать проверку на права администратора?

    @NIDILLIN
    DevOps, Python, Go, ML, DS
    Все просто. В telebot у объекта бота имеется метод get_chat_member(чат, айди_юзера), он возвращает types.ChatMember, одно из полей которого can_restrict_members, которое вам и нужно.
    По другим полям и документации метода можно посмотреть как в вашей ide (думаю, знаете), так и в доке от telebot.
    @bot.message_handler(commands=['kick'])
    def ban_user(message):
        can_restrict = bot.get_chat_member(message.chat.id, message.from_user.id).can_restrict_members
        if can_restrict == True:
            bot.ban_chat_member(chat_id=message.chat.id, user_id=message.reply_to_message.from_user.id)
    Ответ написан
    2 комментария
  • Как узнать id пользователя через reply?

    desaki
    @desaki
    пишу ботов для телеги
    Получить id человека, которому вы ответили

    message.reply_to_message.from_user.id
    Ответ написан
    Комментировать
  • Как получить и вывести имя пользователя в Telegram?

    LulzLoL231
    @LulzLoL231
    Python Developer
    В хэндлере где необходимо записывать юзера, оформляешь запись данных в файл как обычно, и используешь переменные:
    message.chat.id - Это ID пользователя Telegram который обратился к боту (Образец: 000000000)
    message.chat.first_name - Это первое имя пользователя Telegram который обратился к боту (Образец: Иван)
    message.chat.last_name - Это второе имя пользователя Telegram который обратился к боту (Образец: Иванов)
    message.chat.username - Это логин пользователя Telegram который обратился к боту (Образец: IvanIvanov)
    message.chat.type - Это тип профиля пользователя Telegram который обратился к боту (Образец: Public/Private)
    Ответ написан
    Комментировать
  • Как упомянуть человека, который использовал команду в боте?

    Aw1nger
    @Aw1nger
    Python Devoloper
    ctx.author.mention
    Эта строчка возращает тебе значение, которое позволяет упомянуть автора команды.
    Документация: https://discordpy.readthedocs.io/en/stable/ext/com...
    Ответ написан
    Комментировать