28/09/2020 17:09
(Esta mensagem foi modificada pela última vez a: 28/09/2020 20:09 por willttoonn.)
Telegram Connector
Instalação
Caso você use sampctl
Citar:sampctl p install Sreyas-Sreelal/tgconnector
Ou
- Baixe arquivos binários adequados de versões para seu sistema operacional
- Adicione-o à sua pasta de plug-ins
- Adicione tgconnector a server.cfg ou tgconnector.so (para linux)
- Adicionar tgconnector.inc na pasta de includes
Build
- Clonar o repositório
Citar:
- Use makefile para compilar e testar
Ambiente de teste de configuração:
make setup
- Para fazer o release da versão de lançamento:
make release
- Executar testes:
make run
Exemplo
Código:
#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[15],
username[24],
chatname[56],
server_msg[128];
//Retrive data stored in current context
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[15],
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;
}
Notas
Este plugin ainda está em WIP e mais testes precisam ser feitos. Se você encontrar algum bug ou tiver algo a contribuir, sinta-se à vontade para abrir um problema ou solicitar solicitação no github.
Além disso, certifique-se de não compartilhar seu token de bot com ninguém, sendo recomendado armazená-lo dentro de uma variável de ambiente.
( Tópico foi traduzido do inglês para português )
Repositório
Source: https://github.com/Sreyas-Sreelal/tgconnector
Releases: https://github.com/Sreyas-Sreelal/tgconnector/releases
Wiki: https://github.com/Sreyas-Sreelal/tgconnector/wiki