Skip to content

Instantly share code, notes, and snippets.

@unnikked
Last active July 24, 2021 00:29
Show Gist options
  • Star 4 You must be signed in to star a gist
  • Fork 3 You must be signed in to fork a gist
  • Save unnikked/6fccd3216ed32eba0f8548e85e8c59cb to your computer and use it in GitHub Desktop.
Save unnikked/6fccd3216ed32eba0f8548e85e8c59cb to your computer and use it in GitHub Desktop.
Bot scheduler for Telegram - to use with IFTTT - please check https://unnikked.ga/build-telegram-bot-hook-io/ for instructions
module['exports'] = function bot (hook) {
var request = require('request');
var TOKEN = hook.env.bot_scheduler_token;
var ENDPOINT = 'https://api.telegram.org/bot' + TOKEN;
console.log(hook.params);
// generic handler to log api call responses
var handler = function (err, httpResponse, body) {
var response = JSON.stringify({
err: err ? err : false,
statusCode: httpResponse.statusCode,
});
hook.res.end(response);
};
var type = hook.params.type;
var data = hook.params.data;
if (type == "message") {
request.post({
url: ENDPOINT + '/sendMessage',
formData: data
}, handler);
}
if (type == "photo") {
data.photo = request(data.photo);
request.post({
url: ENDPOINT + '/sendPhoto',
formData: data
}, handler);
}
if (type == "audio") {
data.audio = request(data.audio);
request.post({
url: ENDPOINT + '/sendAudio',
formData: data
}, handler);
}
if (type == "document") {
data.document = request(data.document);
request.post({
url: ENDPOINT + '/sendDocument',
formData: data
}, handler);
}
if (type == "sticker") {
data.sticker = request(data.sticker);
request.post({
url: ENDPOINT + '/sendSticker',
formData: data
}, handler);
}
if (type == "video") {
data.video = request(data.video);
request.post({
url: ENDPOINT + '/sendVideo',
formData: data
}, handler);
}
if (type == "voice") {
data.voice = request(data.voice);
request.post({
url: ENDPOINT + '/sendVoice',
formData: data
}, handler);
}
if (type == "location") {
request.post({
url: ENDPOINT + '/sendLocation',
formData: data
}, handler);
}
if (type == "venue") {
request.post({
url: ENDPOINT + '/sendVenue',
formData: data
}, handler);
}
if (type == "contact") {
request.post({
url: ENDPOINT + '/sendContact',
formData: data
}, handler);
}
}
@mboveiri
Copy link

mboveiri commented Jul 20, 2016

Hi.
there is a problem by IFTTT, IFTTT restricted to use utf-8 emojis (:snowman:) in the Maker body,it's awesome if your bot could be translate emoji's shortcode (:c amera:)==>(:camera:) and send it to telegram.

even "parse_mode": "Markdown" did not solve the problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment