Доступ к готовым решениям

Переход в группу "Пользователь"

300.00
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info
  • Новые темы в этом разделе публикуются автоматически при добавлении файла в менеджер ресурсов.
    Ручное создание новых тем невозможно.

Include Telegram Connector | Соединяем сервер с Telegram-ботом.

Oleg Polikhronidi

Изучающий
Пользователь
Регистрация
3 Июн 2019
Сообщения
224
Лучшие ответы
3
Репутация
68
Telegram Connector
Плагин Telegram Connector, который помогает взаимодействовать с ботами Telegram через SA-MP.

Установка плагина.
Если Вы пользователь sampctl:
PHP:
sampctl p install Sreyas-Sreelal/tgconnector
  • Загрузите нужный Вам архив для Вашей операционной системы
  • Добавьте плагин в соответствующую папку (plugins).
  • Вписываете плагин в server.cfg (если на хостинге).
  • Добавляете инклуд TGConnector.inc в pawno/include.

Пример кода:
PHP:
#include<a_samp>
#include<tgconnector>
#include<zcmd>

#define CHAT_ID (TGChatId:"YOUR_CHAT_ID_HERE")

new TGBot:g_bot;

main() {
    // Храним токен бота в переменнойSAMP_TG_BOT и подключаемся из неё.
g_bot = TGConnectFromEnv("SAMP_TG_BOT");
    if(g_bot != INVALID_BOT_ID) {
        printf("Бот успешно подключён!");
    } else {
        printf("Ошибка: бот не может подсоединиться.");
    }
}

public OnTGMessage(TGBot:bot,TGUser:fromid,TGMessage:messageid) {
    
    if(g_bot != bot){
        return 1;
    }

    new 
message[50],
username[24],
chatname[56],
server_msg[128];

TGCacheGetMessage(message);
TGCacheGetUserName(username);
TGCacheGetChatName(chatname);
    
    format(server_msg,128,"[%s] %s(%d): %s",chatname,username,_:fromid,message);
SendClientMessageToAll(-1,server_msg);
    
    return 1;
}


public OnTGUserJoined(TGBot:bot,TGUser:userid) {
    new 
        TGChatId:chatid[15],
username[24],
chatname[56],
server_msg[128];
    
    //Retrive data stored in current context
TGCacheGetUserName(username);
TGCacheGetChatId(chatid);
TGCacheGetChatName(chatname);

    format(server_msg,128,"Пользователь %s (%d) присоединился к %s(%s)",username,_:userid,chatname,_:chatid);
SendClientMessageToAll(-1,server_msg);
    return 1;
}

public OnTGUserLeft(TGBot:bot,TGUser:userid) {
    new 
        TGChatId:chatid[15],
username[24],
chatname[56],
server_msg[128];
    
TGCacheGetUserName(username);
TGCacheGetChatId(chatid);
TGCacheGetChatName(chatname);

    format(server_msg,128,"Пользователь %s(%d) покинул %s(%s)",username,_:userid,chatname,_:chatid);
SendClientMessageToAll(-1,server_msg);
    return 1;
}

CMD:sendtgmessage(playerid,params[]) {
TGSendMessage(g_bot,CHAT_ID,params);
    return 1;
}
Примечания:
Этот плагин все еще находится в разработке, и автор разработки ещё проводит тесты.
Если Вы нашли какие-либо ошибки или у Вас есть что-либо, чтобы внести свой вклад, не стесняйтесь, чтобы сообщить об этом ему GitHub.
Никогда не делитесь токеном своего бота с кем-либо, рекомендуется хранить его внутри кода и нигде более!

// Обновлено 12 Июня 2021.
 

Вложения

Последнее редактирование:
Сверху Снизу