Zitat Zitat von scripter Beitrag anzeigen
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...
Zitat Zitat von scripter Beitrag anzeigen
Hallo,
ich habe durch Zufall die letzten Tage an einer Lösung für ein ähnliches "Problem" mit der Smartphone App Telegram gebaut. In Telegram kann man Bots erstellen welche von einem PC aus gesteuert werden können. Ein Nutzer Startet dann sozusagen einen Chat mit dem Bot, wenn anschließend ein Alarm eingeht, Benachrichtigt der Bot die zuvor angemeldeten Nutzer des Bots und Stellt die Frage ob er zum Einsatz kommt. Die Rückantwort wird dann entsprechend ausgewertet und bei uns am Einsatzmonitor vermerkt.

Wenn Interesse besteht kann ich dir den teil des NodeJS Scriptes mal auszugsweise zur Verfügung stellen.
Hey Danke, das sieht doch schonmal gut aus. Ich versuch da mal was zu kombinieren ;) wir machen rückmeldung per sms oder whatsapp, die versuche ich jetzt mal per php auszulesen. Mal schauen, ob's klappt, auch wenn aich nicht jeder an formatierung hält ;)