Ответы пользователя по тегу Telegram
  • Как отредактировать сообщение с картинками в группе Telegram через api bot?

    a777mp198
    @a777mp198
    Python developer
    (Ответ сгенерирован искусственным интеллектом!)
    Для редактирования сообщения с группой медиа-объектов в Telegram бот API предоставляет метод editMessageMedia. Он позволяет заменить все медиа-объекты в сообщении на новые.

    Если вам нужно добавить дополнительные медиа-объекты к уже существующим, вы можете сделать следующее:

    1. Получите идентификатор сообщения, которое вы хотите отредактировать. Это можно сделать, например, сохраняя идентификатор в базу данных при первоначальной отправке сообщения.

    2. Отправьте новые медиа-объекты в группе sendMediaGroup с опцией disable_notification установленной в true. В ответе на этот запрос вы получите массив MediaGroup объектов, каждый из которых содержит идентификатор media_group_id, который связывает медиа-объекты в группе.

    3. Используйте метод editMessageMedia для замены всех медиа-объектов в сообщении на новые. Укажите media_group_id, который вы получили на шаге 2, в параметре media, чтобы связать новые медиа-объекты с уже существующими.

    Пример кода на PHP для добавления новых медиа-объектов к существующему сообщению с группой медиа-объектов:
    // Получить идентификатор сообщения, которое нужно отредактировать
    $message_id = 1234;
    
    // Отправить новые медиа-объекты в группе
    $response = $telegram->sendMediaGroup([
        'chat_id' => $chat_id,
        'media' => [
            [
                'type' => 'photo',
                'media' => 'http://example.com/new_photo1.jpg',
                'caption' => 'New photo caption 1',
                'disable_notification' => true,
            ],
            [
                'type' => 'photo',
                'media' => 'http://example.com/new_photo2.jpg',
                'caption' => 'New photo caption 2',
                'disable_notification' => true,
            ],
        ],
    ]);
    
    // Получить идентификатор группы медиа-объектов
    $media_group_id = $response[0]['media_group_id'];
    
    // Заменить все медиа-объекты в сообщении на новые
    $telegram->editMessageMedia([
        'chat_id' => $chat_id,
        'message_id' => $message_id,
        'media' => [
            [
                'type' => 'photo',
                'media' => 'http://example.com/existing_photo1.jpg',
                'caption' => 'Existing photo caption 1',
            ],
            [
                'type' => 'photo',
                'media' => 'http://example.com/existing_photo2.jpg',
                'caption' => 'Existing photo caption 2',
            ],
            [
                'type' => 'photo',
                'media' => 'http://example.com/new_photo1.jpg',
                'caption' => 'New photo
    Ответ написан
    Комментировать
  • Как хранить информацию о пользователях телеграмм бота?

    a777mp198
    @a777mp198
    Python developer
    PostgreSQL отличная база данных, сколько использую её для работы с телеграм-ботами - проблем не возникает.
    Ответ написан
    Комментировать
  • Как отправлять гиперссылки вместе с обычным текстом в Telebot?

    a777mp198
    @a777mp198
    Python developer
    Если я Вас правильно понял, то скорее всего Вы хотите видеть следующее:
    bot.send_message(message.chat.id, "Здравствуйте. Вот ссылка на <a href='https://www.google.com/'>гугл</a>.", parse_mode='HTML')
    Ответ написан
    1 комментарий
  • Как скопировать сообщение пользователя в телеграм боте?

    a777mp198
    @a777mp198
    Python developer
    Если Вам необходимо получить сообщение пользователя, которое он напишет после определенного сообщения бота - воспользуйтесь машиной состояний.
    from aiogram.types import Message
    from aiogram.dispatcher import FSMContext
    from aiogram.dispatcher.filters.state import StatesGroup, State
    
    class MessageUser(StatesGroup):
        mes = State()
    
    
    @dp.message_handler(commands=['start', 'help'])
    async def welcome(message: Message, state: FSMContext):
        await message.answer('Приветствую! Напишите своё сообщение, а я сохраню его.')
        await MessageUser.mes.set()
    
    @dp.message_handler(state=MessageUser.mes)
    async def save_message_user(message: Message, state: FSMContext):
        await state.update_data(mes=message.text)
        data = await state.get_data()
    # теперь в объекте data['mes'] хранится сообщение пользователя, можете совершать с ним любые действия.
        await state.finish()
    Ответ написан
    Комментировать
  • Как добавить emoji в TelegramBot python?

    a777mp198
    @a777mp198
    Python developer
    Есть вариант ещё проще. Открываешь свой Telegram Desktop, открываешь Save Massage’s (или любой другой чат, куда можешь написать), кидаешь туда любой один emoji одним сообщением, который хочешь добавить в бота. Затем просто нажимаешь ПКМ на emoji, далее “copy”. И всё, в боте просто Ctrl + V.
    Ответ написан
    Комментировать