A telegram connector plugin that helps to interact with telgram bots through SA-MP.
If you are a sampctl user
sampctl p install Sreyas-Sreelal/tgconnector
- Download suitable binary files from releases for your operating system
- Add it your
plugins
folder - Add
tgconnector
to server.cfg ortgconnector.so
(for linux) - Add tgconnector.inc in includes folder
-
Clone the repo
git clone https://github.com/Sreyas-Sreelal/tgconnector.git
-
Use makefile to compile and test
-
Setup testing environment
make setup
-
To build release version
make release
-
Run tests
make run
-
Checkout the Wiki
A basic bot
#include<a_samp>
#include<tgconnector>
#include<zcmd>
#define CHAT_ID (TGChatId:"YOUR_CHAT_ID_HERE")
new TGBot:g_bot;
main() {
//Store bot token in SAMP_TG_BOT environment variable and connect from it
g_bot = TG_ConnectFromEnv("SAMP_TG_BOT");
if(g_bot != INVALID_BOT_ID) {
printf("bot connected successfully!");
} else {
printf("Error: bot couldn't connect");
}
}
public OnTGMessage(TGBot:bot,TGUser:fromid[],TGMessage:messageid) {
if(g_bot != bot){
return 1;
}
new
message[50],
username[24],
chatname[56],
server_msg[128];
TG_CacheGetMessage(message);
TG_CacheGetUserName(username);
TG_CacheGetChatName(chatname);
format(server_msg,128,"[%s] %s(%s): %s",chatname,username,_:fromid,message);
SendClientMessageToAll(-1,server_msg);
return 1;
}
public OnTGUserJoined(TGBot:bot,TGUser:userid[]) {
new
TGChatId:chatid[12],
username[24],
chatname[56],
server_msg[128];
TG_CacheGetUserName(username);
TG_CacheGetChatId(chatid);
TG_CacheGetChatName(chatname);
format(server_msg,128,"User %s(%d) joined %s(%s)",username,_:userid,chatname,_:chatid);
SendClientMessageToAll(-1,server_msg);
return 1;
}
public OnTGUserLeft(TGBot:bot,TGUser:userid[]) {
new
TGChatId:chatid[12],
username[24],
chatname[56],
server_msg[128];
TG_CacheGetUserName(username);
TG_CacheGetChatID(chatid);
TG_CacheGetChatName(chatname);
format(server_msg,128,"User %s(%s) left %s(%s)",username,_:userid,chatname,_:chatid);
SendClientMessageToAll(-1,server_msg);
return 1;
}
CMD:sendtgmessage(playerid,params[]) {
TG_SendMessage(g_bot,CHAT_ID,params);
return 1;
}