Sie befinden sich hier: eisfair / Pack-Eis
News News News

Navigation

Content

Dateianzeige für telegram (1.2.2)

usr/share/doc/telegram/telegram.txt
Das Telegram-Paket Die Einleitung Telegram ([1]https://telegram.org/) erlaubt das Versenden und Empfangen von Kurznachrichten ueber den kostenfreien Telegram-Instant Messaging Service. Der Fokus liegt dabei auf den Themen Sicherheit und Geschwindigkeit. Darueber hinaus erlaubt Telegram den Abgleich von Chat-Dateien ueber verschiedenste Klienten hinweg. ACHTUNG Um das Paket verwenden zu koennen ist eine einmalige Registrierung erforderlich, welche im Absatz [2]Der Registierungsprozess erklaert wird. Die Funktionen Das Telegram-Paket besteht aus folgender Komponente: * telegram-cli - Das Telegram CLI-Programmpaket. ([3]https://github.com/vysheng/tg) Die Voraussetzungen Zur Nutzung des Programms werden keine weiteren Programmpakete benoetigt. Die Installation Das Telegram-Paket wird ueber das Setup-Menue installiert. Wird eine aeltere Paketversion vorgefunden, so wird diese deinstalliert bevor die neuen Programmdateien installiert werden. Das Menue im Setup-Programm Das Menue im Setup-Programm ist wie folgt aufgebaut: * View documentation: Anzeigen der Dokumentation * Edit configuration: Bearbeiten der Konfiguration * Advanced configuration file handling: Konfigurationen verwalten * Show status: Status der Telegram-CLI Dienstes anzeigen * Start service: Starten des Telegram-CLI Dienstes * Stop service: Stoppen des Telegram-CLI Dienstes * Restart service: Neustarten des Telegram-CLI Dienstes * Send test message: Eine Testnachricht versenden * Start Telegram Client: Das Telegram Klientenprogramm starten * View log file: Die Logmeldungen anzeigen * Return: Untermenue verlassen Die Menuepunkte duerften selbsterklaerend sein, da sie keinerlei weitere Eingaben erwarten. Aus diesem Grund wird auf deren Funktion nicht weiter eingegangen. Die Aenderung der Konfiguration Die Konfiguration kann ueber den Menuepunkt 'Edit configuration' geaendert werden. Standardmaessig wird der Editor aufgerufen, der in der Environment-Konfiguration ueber die Variable 'EDITOR' festgelegt wurde. Nachdem der Editor beendet wurde wird abgefragt, ob die Konfiguration aktiviert werden soll. Wird dies bestaetigt, werden ueber ein Skript die Anpassungen umgehend wirksam gemacht. Die Konfigurationsdatei In der Konfigurationsdatei, die ueber das Menue zugaenglich ist, sind folgende Parameter vorhanden; wer sie von Hand editieren will findet sie unter /etc/config.d/telegram. Die Parameter START_TELEGRAM Fuer die Aktivierung des Telegram-Dienstes muss diese Variable lediglich auf den Wert `yes' gestellt werden. Die Einstellung 'no' deaktiviert den Telegram-Dienst. Gueltige Werte: yes, no Standardeinstellung: START_TELEGRAM='no' TELEGRAM_LISTEN_PORT (Optionaler Parameter) Ueber diesen Parameter wird der TCP-Port festgelegt, auf dem der Telegram-Dienst Verbindungen entgegennehmen soll. Gueltige Werte: Zahl Standardeinstellung: TELEGRAM_LISTEN_PORT='2391' TELEGRAM_BOT_ENABLED Ueber diesen Parameter wird festgelegt, ob der Telegram-Dienst den BOT-Modus aktivieren, d.h. auf eingehende Befehle reagieren soll. Die Einstellung 'no' deaktiviert den BOT-Modus. Gueltige Werte: yes, no Standardeinstellung: TELEGRAM_BOT_ENABLED='no' TELEGRAM_BOT_USER_N Ueber diesen Parameter wird die Anzahl der authorisierten Anwender festgelegt, auf deren Befehle der BOT reagieren soll. Gueltige Werte: Zahl Standardeinstellung: TELEGRAM_BOT_USER_N='1' TELEGRAM_BOT_USER_x_ACTIVE Wird dieser Parameter auf den Wert `yes' gesetzt, so wird der zugehoerige Datensatz aktiviert, `no' deaktiviert ihn. Gueltige Werte: yes, no Standardeinstellung: TELEGRAM_BOT_USER_1_ACTIVE='no' TELEGRAM_BOT_USER_x_COMMENT Ueber diesen Parameter kann auf Wunsch ein Kommentar angegeben werden, da die Zuordnung des Datensatzes erleichtert. Gueltige Werte: beliebiger Text Beispiel: TELEGRAM_BOT_USER_1_COMMENT='Id of Theo Test' TELEGRAM_BOT_USER_x_ID Ueber diesen Parameter wird die Telegram-ID des authorisierten Anwenders festgelegt, auf deren Befehle der BOT reagieren soll. Um die Telegram-ID seines Accounts heraus zu bekommen, reicht es den Text `show-my-sender-details' an den BOT zu senden. Gueltige Werte: gueltige Telegram-ID Beispiel: TELEGRAM_BOT_USER_x_ID='$010000000abcdef01234567890abcdef' TELEGRAM_BOT_CMD_N Ueber diesen Parameter wird die Anzahl der zu akzeptierenden Telegram-Befehle festgelegt. Gueltige Werte: Zahl Standardeinstellung: TELEGRAM_BOT_CMD_N='6' TELEGRAM_BOT_CMD_x_ACTIVE Wird dieser Parameter auf den Wert `yes' gesetzt, so wird der zugehoerige Datensatz aktiviert, `no' deaktiviert ihn. Gueltige Werte: yes, no Standardeinstellung: TELEGRAM_BOT_CMD_1_ACTIVE='no' TELEGRAM_BOT_CMD_x_COMMENT Ueber diesen Parameter kann auf Wunsch ein Kommentar angegeben werden, da die Zuordnung des Datensatzes erleichtert. Gueltige Werte: beliebiger Text Beispiel: TELEGRAM_BOT_CMD_1_COMMENT='Show current date/time.' TELEGRAM_BOT_CMD_x_COMMAND Ueber diesen Parameter wird das Befehlsschluesselwort festgelegt, auf welches der BOT reagieren soll. Gueltige Werte: beliebiger Text (max. 10 Zeichen) Beispiel: TELEGRAM_BOT_CMD_1_COMMAND='datetime' TELEGRAM_BOT_CMD_x_ACTION PMquot;Uber diesen Parameter wird festgelegt, welcher Befehl beim Empfang des zuvor definierten Befehlsschluesselwortes ausgefuehrt werden soll. Gueltige Werte: absoluter Befehlspfad, gefolgt von optionalen Parametern Beispiel: TELEGRAM_BOT_CMD_1_ACTION='/bin/date +"%d.%m.%Y %H:%M:%Sh"' TELEGRAM_KEEP_ALIVE Ueber diesen Parameter wird festgelegt, ob zyklisch eine Telegram-Nachricht versandt werden soll um so zu bestaetigen, dass der Dienst noch fehlerfrei funktioniert. Gueltige Werte: yes, no Standardeinstellung: TELEGRAM_KEEP_ALIVE='no' TELEGRAM_KEEP_ALIVE_ADDR Ueber diesen Parameter wird der Empfaenger oder die Gruppe festgelegt an welche zyklisch eine Telegram-Nachricht gesandt werden soll. Gueltige Werte: existierender Telegram-Anwender oder Gruppe Standardeinstellung: TELEGRAM_KEEP_ALIVE_ADDR='' TELEGRAM_KEEP_ALIVE_TEXT Ueber diesen Parameter wird der Text der Telegram-Nachricht festgelegt, welche zyklisch an den zuvor festgelegten Empfaenger bzw. Gruppe versandt werden soll. Gueltige Werte: Text Standardeinstellung: TELEGRAM_KEEP_ALIVE_TEXT='Hello world!' TELEGRAM_KEEP_ALIVE_CRON_SCHEDULE Ueber diesen Parameter wird festgelegt zu welchem Zeitpunkt bzw. in welchem Intervall eine Telegram-Nachricht versandt werden soll. Die fuenf Teilparameter haben dabei folgende Bedeutung: 1 - Minuten, 2 - Stunden, 3 - Tag des Monats, 4 - Monat, 5 - Wochentag D.h. bei Verwendung der Standardeinstellung wird an jedem Tag um 00:00h eine Nachricht versandt. Wer naeheres ueber die verwendete Befehlssyntax erfahren moechte, sollte ueber eine Internet- Suchmaschine nach 'man' und 'crontab' suchen. Gueltige Werte: Crontab-spezifischer Parametereintrag Standardeinstellung: TELEGRAM_KEEP_ALIVE_CRON_SCHEDULE='0 0 * * *' TELEGRAM_LOG_COUNT Ueber diesen Parameter wird eingestellt, wie viele Logdateien vorgehalten werden sollen. Wird dieser Wert ueberschritten, so wird die aelteste Logdatei geloescht. Gueltige Werte: Zahl Standardeinstellung: TELEGRAM_LOG_COUNT='10' TELEGRAM_LOG_INTERVAL Ueber diesen Parameter wird eingestellt, in welchen Intervallen die Logdateien archiviert werden sollen. Zur Auswahl stehen die Schluesselwoerter `daily' - taeglich, `weekly' - woechentlich und `monthly - monatlich. Gueltige Werte: daily, weekly, monthly Standardeinstellung: TELEGRAM_LOG_INTERVAL='weekly' Verschiedenes Der Registierungsprozess Um das Programm verwenden zu koennen, ist eine einmalige Registrierung am Service notwendig. Hierzu kann jede Telefonnummer verwendet werden, ueber welche man SMS- oder Sprachnachrichten empfangen kann. Hinweis: Bei der Erstellung der folgenden Beschreibung wurde auf Informationen von folgender Webseite zurueck gegriffen: http://www.home-automation-community.com/telegram-messenger-on- the-raspberry-pi/ 1. Zur Registrierung der Telefonnummer startet man das telegram-cli-Programm ueber den Menuepunkt `Start Telegram Client' und gibt bei der Frage nach der Telefonnummer eine Rufnummer in internationaler Schreibweise an, d.h. im Format Laenderkode inkl. vorangestelltem `+'-Zeichen, Ortsvorwahl ohne fuehrende Null und die Rufnummer. 2. Nach kurzer Zeit sollte eine SMS mit dem benoetigten Freischaltungskode auf dem Telefon eingegangen sein. Direkt nach der Eingabe des Freischaltungskodes kann man den Service verwenden. 3. Abschliessend muss nun noch einmal der Telegram-Dienst ueber den Menuepunkt `Restart service' neu gestartet werden um die Einstellungen dauerhaft zu aktivieren. Dies sind die Bildschirmausgaben waehrend der Registrierung: Telegram-cli version 1.3.3, Copyright (C) 2013-2015 Vitaly Valtman Telegram-cli comes with ABSOLUTELY NO WARRANTY; for details type `show_license'. This is free software, and you are welcome to redistribute it under certain conditions; type `show_license' for details. Telegram-cli uses libtgl version 2.0.3 Telegram-cli includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (http://www.openssl.org/) Telegram-cli uses libpython version 2.7.10 I: config dir=[/home/telegramd/.telegram-cli] [/home/telegramd/.telegram-cli] created [/home/telegramd/.telegram-cli/downloads] created phone number: +49222445566 # <<< Telefonnummer code ('CALL' for phone code): 1234 # <<< PIN-Code User Eisfair-Statusmeldungen online (was online [2016/01/06 11:21:15]) > safe_quit # <<< safe_quit-Befehl halt Das Telegram-Klientenprogramm Ueber das Menue bzw. die Kommandozeile kann das Telegram-Klientenprogramm (telegram-cli) gestartet werden. Man verlaesst das Programm durch Eingabe von `safe_quit'. Der Kommandozeilenbefehl lautet hierbei: # telegram-cli -W Sobald der Client gestartet wurde, kann man diesen mit bestimmten Kommandos bedienen. Ueber das Kommando `help' erhaelt man z.B. folgende Ausgabe: > help accept_secret_chat Accepts secret chat. Only useful with -E option add_contact Tries to add user to contact list block_user Blocks user broadcast + Sends text to several users at once chat_add_user [msgs-to-forward] Adds user to chat. Sends him last msgs-to-forward message from this chat. Default 100 chat_del_user Deletes user from chat chat_info Prints info about chat (id, members, admin, etc.) chat_set_photo Sets chat photo. Photo will be cropped to square chat_with_peer Interface option. All input will be treated as messages to this peer. Type /quit to end this mode clear Clears all data and exits. For debug. contact_list Prints contact list contact_search username Searches user by username create_group_chat + Creates group chat with users create_secret_chat Starts creation of secret chat del_contact Deletes contact from contact list delete_msg Deletes message dialog_list [limit=100] [offset=0] List of last conversations export_card Prints card that can be imported by another user with import_card method export_chat_link Prints chat link that can be used to join to chat fwd + Forwards message to peer. Forward to secret chats is forbidden fwd_media Forwards message media to peer. Forward to secret chats is forbidden. Result slightly differs from fwd get_message Get message by id get_self Get our user info help Prints this help history [limit] [offset] Prints messages with this peer (most recent message lower). Also marks messages as read import_card Gets user by card and prints it name. You can then send messages to him as usual import_chat_link Joins to chat by link load_audio + load_chat_photo | load_document | load_document | load_document_thumb | load_file |- Downloads file to downloads load_file_thumb | dirs. Prints file name after load_photo | download end load_user_photo | load_video | load_video_thumb + main_session Sends updates to this connection (or terminal). Useful only with listening socket mark_read Marks messages with peer as read msg Sends text message to peer msg Sends text message to peer with custom kbd quit Quits immediately rename_chat Renames chat rename_contact Renames contact reply Sends text reply to message reply_audio Sends audio to peer reply_contact Sends contact (not necessary telegram user) reply_document Sends document to peer reply_file Sends document to peer reply_location Sends geo location reply_photo [caption] Sends photo to peer reply_video Sends video to peer resolve_username username Searches user by username safe_quit Waits for all queries to end, then quits search [peer] [limit] [from] [to] [offset] pattern Search for pattern in messages from date from to date to (unixtime) in messages with peer (if peer not present, in all messages) send_audio Sends audio to peer send_contact Sends contact (not necessary telegram user) send_document Sends document to peer send_file Sends document to peer send_location Sends geo location send_photo [caption] Sends photo to peer send_text Sends contents of text file as plain text message send_typing [status] Sends typing notification. You can supply a custom status (range 0-10): none, typing, cancel, record video, upload video, record audio, upload audio, upload photo, upload document, geo, choose contact. send_typing_abort Sends typing notification abort send_video [caption] Sends video to peer set Sets value of param. Currently available: log_level, debug_verbosity, alarm, msg_num set_password Sets password set_profile_name Sets profile name. set_profile_photo Sets profile photo. Photo will be cropped to square set_ttl Sets secret chat ttl. Client itself ignores ttl set_username Sets username. show_license Prints contents of GPL license start_bot Adds bot to chat stats For debug purpose status_online Sets status as online status_offline Sets status as offline unblock_user Unblocks user user_info Prints info about user (id, last online, phone) view_audio + view_chat_photo | view_document | view_document_thumb | view_file |- Downloads file to downloads view_file_thumb | dirs. Then tries to open it view_photo | with system default action view_user_photo | view_video | view_video_thumb + view Tries to view message contents visualize_key Prints visualization of encryption key (first 16 bytes sha1 of it in fact} > safe_quit halt Das Telegram-Kommandozeilenprogramm Um von der Kommandozeile Nachrichten bzw. Dateien direkt zu versenden, z.B. aus einem Monitorprogramm heraus, stehen die folgenden Befehlsoptionen zur Verfuegung: Hinweis Leerzeichen im Peer-Namen muessen jeweils durch Unterstriche ersetzt werden. send-telegram-message.sh --peer 'peer-name' ACTION oder send-telegram-message.sh --peer '!_user' ACTION ACTIONs: --file - sendet eine Audio-, Photo-, Text- oder Videodatei --file2msg - sendet eine Textdatei als Nachricht --file2audio - sendet eine Textdatei als Audio- nachricht --msg MESSAGE-TEXT - sendet einen Text als Nachricht --msg2audio MESSAGE-TEXT - sendet einen Text als Audionachricht --filedesc DESCRIPTION - uebergibt eine Beschreibung fuer Photo- oder Videodateien Beispiele: send-telegram-message.sh --peer 'peer-name' --msg 'Hallo Welt' oder send-telegram-message.sh --peer '!_user' --msg 'Hallo Welt' oder send-telegram-message.sh --peer 'peer-name' --file /path/to/file.txt usw. Der Telegram-BOT-Modus Auf Wunsch kann durch Setzen des Parameters TELEGRAM_BOT_ENABLED='yes' der sogenannte BOT-Modus aktiviert werden. Hierdurch erlaubt man dem Telegram-Dienst auf Schluesselwoerter zu hoeren, die ihm als Telegram-Nachricht zugesandt werden, um dann zugeordnete Befehle auszufuehren und deren Ergebnis an den Sender zurueck zu senden. Um diese Funktion nutzen zu koennen, ist nach der Aktivierung des oben genannten Parameters jedoch erst einmal mindestens eine korrekte Benutzer-ID in die Konfiguration aufzunehmen. Hierzu sendet man als Erstes das Schluesselwort `show-my-sender-details' an den Telegram Dienst um eine Antwort nach folgendem Muster zu erhalten: user: T_TEST name: Theo_Test phone: 4917299887766 id: $010000000abcdef01234567890abcdef Nun uebernimmt man die angezeigte ID und den Namen in die Konfigurationsdatei, speichert diese und laesst anschliessend die Konfiguration neu erzeugen: TELEGRAM_BOT_USER_N = '1' TELEGRAM_BOT_USER_1_ACTIVE = 'yes' TELEGRAM_BOT_USER_1_COMMENT = 'Theo_Test' TELEGRAM_BOT_USER_1_ID = '$010000000abcdef01234567890abcdef' Falls die Konfiguration korrekt vorgenommen wurde sollten ab diesem Zeitpunkt bereits die beiden Schluesselwoerter `cmdlist' und `datetime' zur Verfuegung stehen. Durch Senden des Schluesselwortes `cmdlist' verifizieren wir dies und erhalten folgende Antwort: cmdlist - Zeigt die Liste der verfuegbaren Befehle. datetime - Zeigt das aktuelle Datum und die Zeit. Das jeweilige Programm, welches beim Empfang eines Schluesselwortes ausgefuehrt werden soll, definiert man z.B. ueber folgende Parameter: TELEGRAM_BOT_CMD_N = '1' TELEGRAM_BOT_CMD_1_ACTIVE = 'yes' TELEGRAM_BOT_CMD_1_COMMENT = 'Show current date/time.' TELEGRAM_BOT_CMD_1_COMMAND = 'datetime' TELEGRAM_BOT_CMD_1_ACTION = '/bin/date +"%d.%m.%Y %H:%M:%Sh"' An einen Programmaufruf koennen bei Bedarf mit Hilfe der folgenden Variablen Daten uebergeben werden: ${TG_CMD} - enthaelt das Schluesselswort. ${TG_MSG} - enthaelt alle weiteren Daten die mit dem Befehl eingegangen sind. z.B. die Paketznamen. Weitere, vordefinierte Funktionen lassen sich durch Aktivieren der entsprechenden Parameter in der Konfigurationsdatei freischalten. ACHTUNG Aus Sicherheitsgruenden wird die Eingabe von absoluten Befehlspfaden erwartet. Darueber hinaus muss sicher gestellt werden, dass sich der gewuenschte Befehl auch mit den Rechten des Systemuser `telegramd' ausfuehren laesst. getupd - Aktualisiert die Paketdatebank. listupd - Zeigt alle verfuegbaren Updates. instupd package-name - Installiert das 'package-name'-Update. (Wird ein +-Zeichen an das Schluesselswort angehangt, so wird die vollstaendige Bildschirmausgabe als Antwort zurueck gesandt). uptime - Zeigt die Uptime des Servers. Hinweis Um die vordefinierten Befehle `getupd', `listupd' und `instupd' nutzen zu koennen, muss die sudoers-Konfiguration dahingehend erweitert werden, dass der eisman-Befehl vom telegramd-Systemuser ausgefuehrt werden kann. Hierzu ist eine Datei /etc/sudoers.d/telegram anzulegen, welche mindestens die folgende Zeile enthaelt: telegramd ALL=(root) NOPASSWD:/usr/bin/eisman __________________________________________________________________ Juergen Edner 2018-05-10