Javascript 从电报中保存用户名
Javascript saving usernames from telegram
我对 javascript 和电报机器人还很陌生。我已经设法 link 我的电报机器人到 google sheets 并且想保存发送消息到我的机器人的发件人的名字 google sheets .
如果 bot 不是群聊的一部分,该函数会很好用,但如果是,它会为用户 ID 提供负值,并为用户名提供未定义的消息。
我的代码如下(我删除了 sheet 和机器人的实际信息):
var token = ""; //Token of Telegram Bot
var telegramUrl = "https://api.telegram.org/bot" + token;
//connects bot and telegram chat
var webAppUrl = "";
var ssId = "";
function getMe() //gets the bot info
{
var url = telegramUrl + "/getme";
var response = UrlFetchApp.fetch(url);
Logger.log(response.getContentText());
}
function setWebhook() //links url of project
{
var url = telegramUrl + "/setWebhook?url=" + webAppUrl;
var response = UrlFetchApp.fetch(url);
Logger.log(response.getContentText());
}
function sendText(id,text) //sends confirmation text
{
var url = telegramUrl + "/sendMessage?chat_id=" + id + "&text=" + text;
var response = UrlFetchApp.fetch(url);
Logger.log(response.getContentText());
}
function doPost(e) //
{
var data = JSON.parse(e.postData.contents);
var str = data.message.text;
var id = data.message.chat.id;
var name = data.message.chat.first_name + " " + data.message.chat.last_name;
SpreadsheetApp.openById(ssId).getSheets()[0].appendRow([new
Date(),id,name,str]);
}
使用data.message.from
.
此外,用户的last_name
可能是空白的,属性在事件对象中将是undefined
。你必须处理。
var data = JSON.parse(e.postData.contents);
var str = data.message.text;
var id = data.message.from.id;
var name = data.message.from.first_name + (data.message.from.last_name ? " " + data.message.from.last_name : "");
我对 javascript 和电报机器人还很陌生。我已经设法 link 我的电报机器人到 google sheets 并且想保存发送消息到我的机器人的发件人的名字 google sheets . 如果 bot 不是群聊的一部分,该函数会很好用,但如果是,它会为用户 ID 提供负值,并为用户名提供未定义的消息。
我的代码如下(我删除了 sheet 和机器人的实际信息):
var token = ""; //Token of Telegram Bot
var telegramUrl = "https://api.telegram.org/bot" + token;
//connects bot and telegram chat
var webAppUrl = "";
var ssId = "";
function getMe() //gets the bot info
{
var url = telegramUrl + "/getme";
var response = UrlFetchApp.fetch(url);
Logger.log(response.getContentText());
}
function setWebhook() //links url of project
{
var url = telegramUrl + "/setWebhook?url=" + webAppUrl;
var response = UrlFetchApp.fetch(url);
Logger.log(response.getContentText());
}
function sendText(id,text) //sends confirmation text
{
var url = telegramUrl + "/sendMessage?chat_id=" + id + "&text=" + text;
var response = UrlFetchApp.fetch(url);
Logger.log(response.getContentText());
}
function doPost(e) //
{
var data = JSON.parse(e.postData.contents);
var str = data.message.text;
var id = data.message.chat.id;
var name = data.message.chat.first_name + " " + data.message.chat.last_name;
SpreadsheetApp.openById(ssId).getSheets()[0].appendRow([new
Date(),id,name,str]);
}
使用data.message.from
.
此外,用户的last_name
可能是空白的,属性在事件对象中将是undefined
。你必须处理。
var data = JSON.parse(e.postData.contents);
var str = data.message.text;
var id = data.message.from.id;
var name = data.message.from.first_name + (data.message.from.last_name ? " " + data.message.from.last_name : "");