
Подробнее о хостинге для размещения Телеграм бота можно узнать из статьи
Авторизуйтесь через Telegram, чтобы ответить.
Откройте бот @SiteAuthBot,
нажмите кнопку Старт/Start. Следуйте инструкциям бота.
CREATE TABLE 'reaction' (
'id' int(11) NOT NULL,
'id_post' bigint(20) NOT NULL,
'like_id' varchar(32) DEFAULT NULL,
'dislike_id' varchar(32) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
if($data->is_channel) {
$id = uniqid();
$chan = [
[['text' => '👍', 'callback_data' => 'like_' . $id], ['text' => '👎', 'callback_data' => 'dislike_' . $id]],
[['text' => 'Поделиться', 'url' => 'https://telegram.me/share/url?url=https://telegram.me/' . $data->username . '/' . $data->message_id]]
]; $chan_btn = $telegram->buildInlineKeyBoard($chan);
$db->insert('reaction', [
'id_post' => $data->message_id,
'like_id' => 'like_' . $id,
'dislike_id' => 'dislike_' . $id
]);
$telegram->editMessageReplyMarkup([
'chat_id' => $data->chat_id,
'message_id' => $data->message_id,
'reply_markup' => $chan_btn
]);
}
if ($data->callback_query) {
if (preg_match('/like_.*/', $data->text) ) {
$data_inline = explode('_', $data->text);
$reaction = $data_inline[0];
$id = $data_inline[1];
$liked_user = $db->get('reactions', 'user_id', ['user_id' => $data->user_id]);
$i = $db->select("SELECT * FROM 'reactions' WHERE 'like_id' = ". $data->text)->rowCount();;
if($data_inline[0] == 'like' && $liked_user == false) {
$db->update('reactions', [
'id_post' => $data->message_id,
'user_id' => $data_id
]);
$telegram->answerCallbackQuery([
'callback_query_id' => $data->callback_query_id,
'text' => 'Спасибо за лайк',
'show_alert' => false
]);
$chan = [
[['text' => '👍' . ++$i, 'callback_data' => 'like_' .$id], ['text' => '👎', 'callback_data' => 'dislike_' .$id]],
[['text' => 'Поделиться', 'url' => 'https://telegram.me/share/url?url=https://telegram.me/' . $data->username . '/' . $data->message_id]]
]; $chan_btn = $telegram->buildInlineKeyBoard($chan);
$telegram->editMessageReplyMarkup([
'chat_id' => $data->chat_id,
'message_id' => $data->message_id,
'reply_markup' => $chan_btn
]);
} else {
$telegram->answerCallbackQuery([
'callback_query_id' => $data->callback_query_id,
'text' => 'Вы уже лайкули',
'show_alert' => false
]);
}
}
}