Skip to content

Instantly share code, notes, and snippets.

@Lincest
Created August 11, 2020 11:34
Show Gist options
  • Save Lincest/dded313bf620538c28e92cfb3ae2cb83 to your computer and use it in GitHub Desktop.
Save Lincest/dded313bf620538c28e92cfb3ae2cb83 to your computer and use it in GitHub Desktop.
telegram-bot.gs
function doGet(e){
return HtmlService.createHtmlOutput("你好,我是一个新的机器人服务请求!");
}
function doPost(e){
var dataFromTelegram = {
"method": "post",
"payload": e.postData.contents
}
//讲请求数据的内容不符 转JSON对象
var body = JSON.parse(e.postData.contents);
//转为字符型
body.message.chat.id = body.message.chat.id + '';
//处理请求内容和返回结果
var payload = preparePayload(body);
//这是 数据格式
var data = {
"method": "post",
"payload": payload
}
//调用跳转接口,把结果返回给对应Token的Telegram机器人
UrlFetchApp.fetch("xxxx", data);
}
//群聊
function getName(user) {
var name = user.first_name;
if (user.last_name) {
name += " " + user.last_name;
}
return name;
}
function escapeMarkDown(toEscapeMsg) {
var escapedMsg = toEscapeMsg
.replace(/_/g, "\\_")
.replace(/\*/g, "\\*")
.replace(/\[/g, "\\[")
.replace(/`/g, "\\`");
return escapedMsg;
}
function getMentionName(user) {
var username = user.username;
var mentionName = "";
var name = getName(user);
if (!name) {
name = "神秘人";
}
mentionName = getMarkDownUserUrl(escapeMarkDown(name), user.id);
return mentionName;
}
function getMarkDownUserUrl(userName, userId) {
return "[" + userName + "](tg://user?id=" + userId + ")";
}
function tmpSend(text,body) {
var cache = {
"method": "sendMessage",
"chat_id": body.message.chat.id,
"text": text,
}
var data = {
"method": "post",
"payload": cache
}
UrlFetchApp.fetch("xxxx", data);
}
//main
function preparePayload(body){
var payload;
//群聊欢迎与踢人
if (body.message.new_chat_member) {
payload = {
"method": "sendMessage",
"chat_id": body.message.chat.id,
"parse_mode": "Markdown",
"disable_web_page_preview": true,
}
payload.text = "*你好鸭~*" + getMentionName(body.message.new_chat_member) + "\n";
return payload;
}
if (body.message.left_chat_member) {
payload = {
"method": "sendMessage",
"chat_id": body.message.chat.id,
"parse_mode": "Markdown",
"disable_web_page_preview": true,
}
payload.text = getMentionName(body.message.left_chat_member) + "\n要是有冤情,就去找[管理员爸爸](https://t.me/roccoshi)饶了你~";
return payload;
}
//复读与功能
if (body.message.text){ //接收到文本
//消息体
payload = {
"method": "sendMessage",
"chat_id": body.message.chat.id,
}
payload.reply_to_message_id = body.message.message_id;
body.message.text = body.message.text.toLowerCase();
// body.message.text = body.message.text.replace(/@hiroccobot/g, '');
restText = body.message.text;
if(restText.indexOf("/start") >= 0){
payload.text = "你好, 我是OCCO, 是roccoshi创建的机器人, 你现在可以使用以下命令 :" +
"\n-------------------------\n" +
"/blog" + "\n我的博客\n\n" +
"/cnixcode" + "\n机场邀请码\n\n" +
"/email" + "\ncontact:我的邮箱\n\n" +
"/photos" + "\n来点图片\n\n" +
"/poem" + "\n来句诗词\n" +
"-------------------------";
return payload;
}
else if(restText.indexOf("/blog") >= 0){
payload.text = "我的博客是 : \nhttps://blog.roccoshi.top \nhttps://roccoshi.top";
return payload;
}
else if(restText.indexOf("/poem") >= 0){
tmpSend("正在调用...",body);
var poem = UrlFetchApp.fetch("https://v1.jinrishici.com/all.txt");
payload.text = poem.getContentText();
return payload;
}
else if(restText.indexOf("/cnixcode") >= 0){
payload.text = "邀请链接: \n" + "https://ntt-co-jp.club/auth/register?code=pzS5";
return payload;
}
else if(restText.indexOf("/email") >= 0){
payload.text = "联系我: \n" + "roccoshi@roccoshi.top";
return payload;
}
else if(restText.indexOf("/chatbot") >= 0){
payload.text = "联系我: \n" + "roccoshi@roccoshi.top";
return payload;
}
else if(restText.indexOf("/photos") >= 0){
tmpSend("正在调用...",body);
var url = "https://uploadbeta.com/api/pictures/random/?key=BingEverydayWallpaperPicture";
var url1 = "https://api.ixiaowai.cn/mcapi/mcapi.php/?";
var randint = Math.random()*100;
url = url + "&param=" + randint.toString();
payload = {
"method": "sendPhoto",
"chat_id": body.message.chat.id,
"photo": url
}
return payload;
}
else if(restText.indexOf("唱首歌") >= 0){
payload.text = "曾经的你 - 许巍\n 词:许巍\n 曲:许巍\n 曾梦想仗剑走天涯\n 看一看世界的繁华\n 年少的心总有些轻狂\n 如今你四海为家\n 曾让你心疼的姑娘\n 如今已悄然无踪影\n 爱情总让你渴望又感到烦恼\n 曾让你遍体鳞伤\n Di li li li di li li li den da\n Di li li li di li li li da da\n Di li li li di li li li da da\n 走在勇往直前的路上\n Di li li li di li li li den da\n Di li li li di li li li da da\n Di li li li di li li li da da\n 有难过也有精彩\n 每一次难过的时候\n 就独自看一看大海\n 总想起身边走在路上的朋友\n 有多少正在疗伤\n Di li li li di li li li den da\n Di li li li di li li li da da\n Di li li li di li li li da da\n 不知多少孤独的夜晚\n Di li li li di li li li den da\n Di li li li di li li li da da\n Di li li li di li li li da da\n 从昨夜酒醉醒来\n 每一次难过的时候\n 就独自看一看大海\n 总想起身边走在路上的朋友\n 有多少正在醒来\n 让我们干了这杯酒\n 好男儿胸怀像大海\n 经历了人生百态世间的冷暖\n 这笑容温暖纯真\n 每一次难过的时候\n 就独自看一看大海\n 总想起身边走在路上的朋友\n 有多少正在醒来\n 让我们干了这杯酒\n 好男儿胸怀像大海\n 经历了人生百态世间的冷暖\n 这笑容温暖纯真";
return payload;
}
var str = body.message.text;
var n = str.search("bot");
if(n == -1)
{
n = (str.search("@hiroccobot"));
}
if(n>=0){
payload.text = "干嘛鸭?";
}
return payload;
}
}
// else if (body.message.sticker){ //接收到表情 直接返回表情
// payload = {
// "method": "sendSticker",
// "chat_id": body.message.chat.id,
// "sticker": body.message.sticker.file_id
// }
// }
// else if (body.message.photo){//接收到图片,直接返回图片
// array = body.message.photo;
// text = array[1];
// payload = {
// "method": "sendPhoto",
// "chat_id": body.message.chat.id,
// "photo": text.file_id
// }
// }
// else {
// payload = {
// "method": "sendMessage",
// "chat_id": body.message.chat.id,
// "text": "你在说什么啊!!"
// }
// }
// payload.reply_to_message_id = body.message.message_id;
// return payload;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment