2015-07-03 61 views

回答

2

您可以使用Telegram Bot API,它是一個易於使用HTTP接口的電報服務。使用他們的BotFather創建一個bot令牌。 JavaScript的(的NodeJS)使用示例:

var TelegramBot = require('telegrambot'); 
var api = new TelegramBot('<YOUR TOKEN HERE>'); 

// You can either use getUpdates or setWebHook to retrieve updates. 
// getUpdates needs to be done on an interval and will contain all the 
// latest messages send to your bot. 

// Update the offset to the last receive update_id + 1 
api.invoke('getUpdates', { offset: 0 }, function (err, updates) { 
    if (err) throw err; 
    console.log(updates); 
}); 

// The chat_id received in the message update 
api.invoke('sendMessage', { chat_id: <chat_id>, text: 'my message' }, function (err, message) { 
    if (err) throw err; 
    console.log(message); 
}); 

此示例使用我用我的項目NodeJS library的。

爲了與用戶開始對話,您可以使用深層鏈接功能。例如,你可以把一個鏈接在您的網站,像這樣:

https://telegram.me/triviabot?start=payload(有效載荷是一個定義變量的值,如果你想使用一個,像一個認證ID等)

繼該鏈接會提示用戶啓動電報應用程序並將bot添加到聯繫人列表中。然後,您將通過帶有該用戶的chat_id的getUpdates()調用接收消息。這chat_id然後可以用來消息用戶任何你想要的。我不相信有可能使用Telegram Bot API將消息發送到手機號碼,他們只能與chat_id一起工作,因爲這是一種保護電報用戶免受營銷機器人垃圾郵件干擾的機制......這就是您需要的首先啓動與機器人的對話。

+0

謝謝,但我如何動態添加組與所有數字? – Eliana

+0

我知道的最接近的是深層鏈接功能,https://core.telegram.org/bots#deep-linking。我不認爲你可以用一系列數字開始一個組,因爲這將是侵入性的,在電報中,最終用戶將必須是一個將bot添加到他們的聯繫人列表中的動作。您可以使用深層鏈接動態啓動一個組或者當用戶點擊一個鏈接時執行一個動作。鏈接格式將類似https://telegram.me/yourbot?startgroup=CustomBotGroup –

+0

但是可以插入數字電話而不是聊天ID?就像http://notificatio.divshot.io/使用數字電話 – Eliana