2017-12-16 2 views
2

Ich schrieb einen Bot in Python. In regelmäßigen Abständen funktioniert es nicht mehr. Die virtuelle Maschine funktioniert stabil. Der laufende Dienst ist immer aktiv.Mein Telegramm Bot auf Python funktioniert nicht

Ich bin mit dieser Bibliothek - https://github.com/eternnoir/pyTelegramBotAPI

Arbeiten auf einer virtuellen Maschine auf der Azure-Dienst (Ubuntu 16.04.5).

Hier ist der Python-Script-Code:

# -*- coding: utf-8 -*- 
import re 
import config 
import telebot 

bomg = "Бомж" 
regRusLetters = re.compile("^[а-яА-Яё]+$") 

bot = telebot.TeleBot(config.token) 


def second_vowels(text): 
    pos = 0 
    i = 1 
    while i < len(text): 
     if text[i] in "ауоыиэяюёе": 
      pos = i 
      break 
     i = i + 1 
    return pos 


@bot.message_handler(commands=['start', 'help']) 
def send_welcome(message): 
    bot.reply_to(message, "Пришли мне слово на Русском и я его бомжирую!") 


@bot.message_handler(content_types=["text"]) 
def repeat_all_mesages(message): 
    response = "не могу бомжировать..." 
    text = message.text.lower() 
    if re.match(regRusLetters, text): 
     pos = second_vowels(text) 
     response = bomg + text[pos:] 

    bot.send_message(message.chat.id, response) 


bot.polling(none_stop=True) 

als Dienst konfiguriert mit Systemd. Hier ist die bot.service Datei:

[Unit] 
Description=TelegramBot 
After=network.target 

[Service] 
Type=idle 
ExecStart=/usr/bin/python3.5 /home/rhanza/TelegramBot/bot.py 
Restart=always 

[Install] 
WantedBy=multi-user.target 

Wenn ich durch ssl anschließen und prüfen Sie den Status des Prozesses, sehe ich folgendes:

status bot.service 
● bot.service - TelegramBot 
    Loaded: loaded (/etc/systemd/system/bot.service; enabled; vendor preset: enabled) 
    Active: active (running) since Sat 2017-12-16 21:06:31 UTC; 3min 8s ago 
Main PID: 3823 (python3.5) 
    Tasks: 4 
    Memory: 19.2M 
     CPU: 930ms 
    CGroup: /system.slice/bot.service 
      └─3823 /usr/bin/python3.5 /home/rhanza/TelegramBot/bot.py & 

Dec 16 21:06:31 botholder1 systemd[1]: bot.service: Service hold-off time over, scheduling restart. 
Dec 16 21:06:31 botholder1 systemd[1]: Stopped TelegramBot. 
Dec 16 21:06:31 botholder1 systemd[1]: Started TelegramBot. 

Der Bot immer nicht auf Nachrichten antworten, obwohl Der Service ist stabil. Ich kann nicht herausfinden, was der Grund ist und wie man das Problem löst. Vielleicht kann jemand die Antwort sagen?

+1

Bitte finden Sie den Punkt, und nur minimalen Code – Sean

Antwort

0

Telegramm-Server senden Ihnen periodisch einen 504-Fehler (Gateway-Timeout) beim Longpooling.

Verwenden Sie Webhook, stattdessen Longpooling.

Verwandte Themen