【发布时间】:2016-08-12 12:14:09
【问题描述】:
user object没有photo_id,有没有办法获取用户头像?
【问题讨论】:
标签: telegram telegram-bot avatar php-telegram-bot
user object没有photo_id,有没有办法获取用户头像?
【问题讨论】:
标签: telegram telegram-bot avatar php-telegram-bot
我没有找到任何php 代码,但是这个nodejs sn-p 对我有用,所以我放这个是为了让您了解它是如何工作的。
HTTP API的令牌
node_modules文件夹旁边创建一个js文件(例如:server.js)将此代码放入server.js 文件中,然后使用$ node server.js 运行它
const TelegramBot = require('node-telegram-bot-api');
// replace the value below with the Telegram token you receive from @BotFather
const token = 'XXXX35XXXX:XXXX7DCYw5IsY6DHcwXXXXXXXXX';
// Create a bot that uses 'polling' to fetch new updates
const bot = new TelegramBot(token, {
polling: true
});
// Matches "/echo [whatever]"
bot.onText(/\/echo (.+)/, (msg, match) => {
// 'msg' is the received Message from Telegram
// 'match' is the result of executing the regexp above on the text content
// of the message
const chatId = msg.chat.id;
const resp = match[1]; // the captured "whatever"
// send back the matched "whatever" to the chat
bot.sendMessage(chatId, resp);
});
// Listen for any kind of message. There are different kinds of
// messages.
bot.on('message', (msg) => {
const chatId = msg.chat.id;
var user_profile = bot.getUserProfilePhotos(msg.from.id);
user_profile.then(function (res) {
var file_id = res.photos[0][0].file_id;
var file = bot.getFile(file_id);
file.then(function (result) {
var file_path = result.file_path;
var photo_url = `https://api.telegram.org/file/bot${token}/${file_path}`
bot.sendMessage(chatId, photo_url);
});
});
});
【讨论】: