8
user object non ha photo_id, quindi è possibile ottenere l'avatar dell'utente?Come posso ottenere l'immagine/avatar dell'utente usando l'API di chat bot di Telegram?
user object non ha photo_id, quindi è possibile ottenere l'avatar dell'utente?Come posso ottenere l'immagine/avatar dell'utente usando l'API di chat bot di Telegram?
Non ho trovato alcun codice php
, ma questo snippet nodejs
ha funzionato per me quindi l'ho messo per darti l'idea che funziona.
HTTP API
js
accanto alla cartella node_modules
(ad esempio: server.js
)mettere questo i codici nel file server.js
e quindi eseguirlo con $ 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);
});
});
});