Ich pack hier mal das Modul für den Bot einfach so rein. Ist prinzipiell recht easy und auch noch nicht zu 100% fertig.

PHP-Code:
exports.init = function (app) {
    var 
telegram = require('../../lib/telegram-bot-api');
    var 
TelegramBot = {
        
api: new telegram({
            
tokenapp.config.TelegramBot.API_Key,
            
updates: {
                
enabledtrue
            
}
        }),
        
users: { //Chat IDs welche die Nachricht bekommen sollen, wird mit /start im telegram automatisch hinzugefügt. Speichern der Liste fehlt noch
            
'xxxxxxxxx': {idxxxxxxxxxfirst_name'Test'username'Test'}
        },
        
user_einsatz: {
            
aktivnull,
            
kraefte: {}
        },
        
broadcast: function (selfIDtext) { //Nachricht an alle user rausschicken ausser den eigenen
            
for (var u in this.users) {
                if (
!= selfID) {
                    
this.api.sendMessage({
                        
chat_idu,
                        
texttext
                    
}, function (errdata) {
                        
console.log(data);
                    });
                }
            }
        },
        
start: function (alarm) { //diese funktion wird aufgerufen sobald ein alarm ankommt
            
this.send(alarm);
        },
        
send: function (alarm) {
            
//Einsatznummer setzen und userliste zurücksetzten
            
this.user_einsatz.aktiv alarm.ENR;
            
this.user_einsatz.kraefte = {};

            var 
schwere '';
            if (
alarm.schwere) {
                
schwere ' (' alarm.schwere ')';
            }

            for (var 
u in this.users) {
                var 
ret this.api.sendMessage({
                    
chat_idu,
                    
reply_markupJSON.stringify(
                        {
                            
keyboard: [ //Hier können noch weitere Nachrichten ergänzt werden
                                
[
                                    
'/Ja ich komme!'
                                
],
                                [
                                    
'/Nein ich komme nicht!'
                                
]
                            ],
                            
one_time_keyboardtrue
                        
}),
                    
text"\u26a0" ' Alarm ' "\n" alarm.Stichwort schwere //Text welchen der Bot zum User sendet
                
});
                
console.log(uret);
            }
        },
        
stop: function () { //Reset funktion welche nach einem gewissen Timeout vom Alarmsystem aufgerufen wird
            
TelegramBot.user_einsatz = {
                
aktivnull,
                
kraefte: {}
            };
        }
    };

    
TelegramBot.api.on('message', function (message) {
        
console.log('message'message);
        if (
message && message.text) {
            var 
cmd message.text.split(' ')[0].toLowerCase();

            if (
cmd[0] == '/') { //Auswertung der Komandos (/Ja /Nein)
                
if (TelegramBot.user_einsatz.aktiv) { //Ist überhaupt ein Einsatz?
                    
if (cmd == '/ja') {
                        var 
msg = ["\uD83D\uDD35"];
                        if (
message.chat.first_name) {
                            
msg.push(message.chat.first_name);
                        }
                        if (
message.chat.last_name) {
                            
msg.push(message.chat.last_name);
                        }
                        
msg.push('kommt!');
                        
TelegramBot.broadcast(message.chat.apimsg.join(' '));

                        
TelegramBot.user_einsatz.kraefte[message.chat.id] = message.chat;
                    } else if (
cmd == '/nein') {
                        var 
msg = ["\uD83D\uDD34"];
                        if (
message.chat.first_name) {
                            
msg.push(message.chat.first_name);
                        }
                        if (
message.chat.last_name) {
                            
msg.push(message.chat.last_name);
                        }
                        
msg.push('kommt NICHT!');

                        
TelegramBot.broadcast(message.chat.apimsg.join(' '));
                    }
                }
            } else { 
//Bei sonnstigen nachrichten wird der User hinzugefügt, hier muss noch eine Verifizierg eingebaut werden!
                
if (!TelegramBot.users[message.chat.id]) {
                    
TelegramBot.users[message.chat.id] = message.chat;
                }
                
console.log(TelegramBot.users);
            }
        }
    });
    return 
TelegramBot;
}; 
https://www.npmjs.com/package/telegram-bot-api bzw. https://github.com/mast/telegram-bot-api wären die node module dazu.

Über die Telegram Bots: https://telegram.org/blog/bot-revolution


Wie schon geschrieben ist das nur ein Modul von diversen. Ich habe prinzipiell eine Software welche die Einsätze via Serialport auf einem Raspberry Pi vom Piepser ausliest und den Text Auswertet. An dem Raspi hängt dann ein 40" Monitor in der Wagenhalle welcher den Text entsprechend ausgibt und in der unteren Ecke Alarmierungszeit, Minuten seit Alarmierung und jetzt auch die Rückmeldungen der Kameraden mit angibt. Die Frage ist halt inwiefern bei einem Einsatz tatsächlich jemand darüber Rückmeldung gibt ob er kommt oder auch nicht...