• VLMI - форум по обмену информацией. На форуме можете найти способы заработка, разнообразную информацию по интернет-безопасности, обмен знаниями, курсы/сливы.

    После регистрации будут доступны основные разделы.

    Контент форума создают пользователи, администрация за действия пользователей не несёт ответственности, отказ от ответственности. Так же перед использованием форума необходимо ознакомиться с правилами ресурса. Продолжая использовать ресурс вы соглашаетесь с правилами.
  • Подпишись на наш канал в Telegram для информации о актуальных зеркалах форума: https://t.me/vlmiclub

Telegram Like_Buttons

atomsolt

Участник
Сообщения
21
Реакции
14
0 руб.
Подскажите на уровне идеи, как делаются кнопки с реакциями/лайками в telegram? Я так понял что без базы никак? Есть варианты как-то внедрить @like бота или другое готовое решение? Как сделано в @ControllerBot? Я так понимаю что это делается через инлайн-кнопки и эдит_мессадж и в коллбэке ходим в базу? Сколько будет весить такая база через пол года/год при 10к лайкающих юзерах? Есть примерная таблица полей в базе (chatId, messageId, userId, ...)?
 

BotHub

Разработчик ботов

BotHub

Разработчик ботов
Резидент
Сообщения
285
Реакции
420
0 руб.
Telegram
Ничего особо сложного нет. Да это каллбеки, при нажатии на кнопку видно с какого канала нажатие, приходит нажатие, редактируются кнопки, изменяется значение.

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

atomsolt

Участник
Сообщения
21
Реакции
14
0 руб.
А есть варианты интеграции готовых решений? @ControllerBot под капотом использует же @like бота или у них своя реализация. Не очень охота для этого свою базу прикручивать.
 

BotHub

Разработчик ботов

BotHub

Разработчик ботов
Резидент
Сообщения
285
Реакции
420
0 руб.
Telegram
А есть варианты интеграции готовых решений? @ControllerBot под капотом использует же @like бота или у них своя реализация. Не очень охота для этого свою базу прикручивать.
в смысле готовое решение?)) для телеграм в природе нет ничего готового и бесплатного, в сети есть некоторые уроки начального уровня, ну и есть готовые боты, которые можно прикрутить к своему каналу, естественно ни какие данные бот вам предоставлять не никогда не будет, базу прикручивать не к чему)) Ваш вариант, или брать эти боты и подключать туда свой канал, ну или писать собственный аналог их сервиса.
 

atomsolt

Участник
Сообщения
21
Реакции
14
0 руб.
в смысле готовое решение?)) для телеграм в природе нет ничего готового и бесплатного, в сети есть некоторые уроки начального уровня, ну и есть готовые боты, которые можно прикрутить к своему каналу, естественно ни какие данные бот вам предоставлять не никогда не будет, базу прикручивать не к чему)) Ваш вариант, или брать эти боты и подключать туда свой канал, ну или писать собственный аналог их сервиса.
обычное готовое решение, есть библиотеки для работы с api, есть расширяющие библиотеки для работы с этими библотеками, только ради примера вот js либа для работы с api, а вот либа которая помогает работать с клавиатурой внутри той библиотеки, я спрашивал может есть что-то для организации like-buttons,
на счёт данных которые бот не будет предоставлять, если честно то я не понял, какие данные он мне не будет предоставлять? мне не нужны никакие данные, если это на счёт вопроса про @ControllerBot, то есть бот @like, который добавляет реакции, я думал что @ControllerBot использует его под капотом, то есть каким-то образом @like-бот можно использовать внутри своего бота, хотел узнать как, ну или нельзя конечно же, у них своя реализация,
базу прикручивать есть куда, для своих like-buttons, но не охота, если теоретически можно взять что-то готовое, если нет, значит придётся,
может сложно спросил, опишу кейс, есть канал, посты сейчас делаются через @ControllerBot руками вбивается каждый пост, нужно как-то всё это автоматизировать, всё вроде понятно, но есть затык с кнопками-реакциями к постам, если свои пилить, то база нужна своя со всеми вытекающими, вот и спрашиваю может есть варианты?
 

BotHub

Разработчик ботов

BotHub

Разработчик ботов
Резидент
Сообщения
285
Реакции
420
0 руб.
Telegram
В общем если с Python дружите набросал вам примерное решение. Допустим у вас определены те элементы для лайков и дизлайков. К примеру сделаем 2 кнопки, лайк и дизлайк. Добавляем бота на канал и даем ему права администратора. Что бы бот смог работать с каналом, сделаете репост любого сообщения боту. Ну и все. Теперь при добавлении сообщения, бот автоматически будет добавлять к этому посту кнопки. В тестовом режиме написал обработчик этих команд, он ничего не делает, но показывает реакцию. Далее просто нужно завести базу данных, для хранения данных, если непонятно могу продолжить реализацию))))

Код:
import telebot
from telebot.types import InlineKeyboardMarkup, InlineKeyboardButton

TOKEN = # Telegram токен

bot = telebot.TeleBot(TOKEN)

@bot.channel_post_handler()
def channel_post(message):
  markup = InlineKeyboardMarkup()
  item1 = InlineKeyboardButton('? 0', callback_data=f'yes')
  item2 = InlineKeyboardButton('? 0', callback_data=f'no')
  markup.add(item1, item2)
  bot.edit_message_reply_markup(message.chat.id, message.message_id, reply_markup=markup)

@bot.callback_query_handler(func=lambda call: True)
def callback_query(call):
  if call.data == 'yes':
    bot.answer_callback_query(call.id, 'Нравится')
  elif call.data == 'no':
    bot.answer_callback_query(call.id, 'Не нравится')

bot.polling()

Screenshot_1.png
 

BotHub

Разработчик ботов

BotHub

Разработчик ботов
Резидент
Сообщения
285
Реакции
420
0 руб.
Telegram
В продолжении темы https://vlmi.top/threads/like-telegram-bot-na-python.26759/
 
Сверху Снизу