Nodejs TDlib, 请问 用这个 https://github.com/Bannerets/tdl 如何才能发图片呢?
Nodejs TDlib, 请问 用这个 https://github.com/Bannerets/tdl 如何才能发图片呢?
await client.invoke({
_: ‘sendMessage’,
chat_id: 123456789,
input_message_content: {
_: ‘inputMessageText’,
text: {
_: ‘formattedText’,
text: ‘👻’
}
}
})
这个可以发文字, 但是小白 nodejs 搞不明白如何才能发图片,
这个之官方的 TDlib 看不太懂,https://core.telegram.org/tdlib/docs/classtd_1_1td__api_1_1input_message_photo.html
有懂的大神 带带吗?
推荐使用 node-telegram-bot-api
这个 sdk ,有直接封装好的方法 sendPhoto
不一样的, 你推荐的是 bot sdk ,想用的是 TDlib.
看看这个 Issue 是不是对你有帮助
https://github.com/Bannerets/tdl/issues/109
要在Node.js中使用TDLib库(如tdl)发送图片,你需要先确保TDLib已经正确安装并初始化。以下是一个基本的步骤和示例代码,展示如何发送图片消息。
-
安装tdl库: 确保你已经安装了
tdl
库。如果还没有安装,可以使用npm进行安装:npm install tdl
-
初始化TDLib并登录: 你需要初始化TDLib客户端并登录到Telegram账户。
-
上传并发送图片: 使用TDLib的API上传图片并发送消息。以下是一个简化的示例代码:
const { TdClient, TdApi } = require('tdl'); const client = new TdClient(); (async () => { await client.connect(); await client.execute(new TdApi.SetLogVerbosityLevel(0)); await client.execute(new TdApi.AuthorizeWithPhoneNumber('your_phone_number')); // 完成验证码登录流程... const fileId = await client.execute(new TdApi.UploadFile({ file: { id: 1, parts: 1, name: 'example.jpg', type: 'photo' }, file_part: Buffer.from('your_image_data_here', 'base64') // 替换为图片数据 })); await client.execute(new TdApi.SendMessage({ chat_id: 'chat_id_here', // 替换为目标聊天ID message: `Photo: <photo>${fileId.photo.id}</photo>`, reply_to_message_id: 0, options: {} })); })();
注意:以上代码仅作为示例,你需要根据实际情况调整,包括处理登录验证码、获取聊天ID以及提供正确的图片数据。