Skip to content
Telegram connector for samp
Rust Pawn SourcePawn Makefile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
include
pawn-examples
pawn-tests
src
.gitignore
.travis.yml
Cargo.lock
Cargo.toml
LICENSE
README.md
TgConnector.sublime-project
appveyor.yml
bintray.json
makefile
pawn.json

README.md

TgConnector

Build Status Build status sampctl-supported GitHub issues GitHub pull requests GitHub pull license

A telegram connector plugin that helps to interact with telgram bots through SA-MP.

Installing

If you are a sampctl user

sampctl p install Sreyas-Sreelal/tgconnector

OR

  • Download suitable binary files from releases for your operating system
  • Add it your plugins folder
  • Add tgconnector to server.cfg or tgconnector.so (for linux)
  • Add tgconnector.inc in includes folder

Building

  • 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

API

Checkout the Wiki

Example

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 = TGConnectFromEnv("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];

	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[12],
		username[24],
		chatname[56],
		server_msg[128];

	TGCacheGetUserName(username);
	TGCacheGetChatId(chatid);
	TGCacheGetChatName(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];

	TGCacheGetUserName(username);
	TGCacheGetChatId(chatid);
	TGCacheGetChatName(chatname);

	format(server_msg,128,"User %s(%d) left %s(%s)",username,_:userid,chatname,_:chatid);
	SendClientMessageToAll(-1,server_msg);
	return 1;
}

CMD:sendtgmessage(playerid,params[]) {
	TGSendMessage(g_bot,CHAT_ID,params);
	return 1;
}
You can’t perform that action at this time.