首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在终端python中自动重新启动程序

如何在终端python中自动重新启动程序
EN

Stack Overflow用户
提问于 2022-10-08 10:23:38
回答 1查看 105关注 0票数 0

我在写电报机器人!当我穿过终端机的时候,它运行得很好。但是,如果Internet丢失了,程序将停止使用错误代码:

raise (e,request=request) requests.exceptions.ReadTimeout: HTTPSConnectionPool(host=‘api.telgra.org’,port=443):读超时。(阅读timeout=25)“。

我需要程序自动启动时,互联网出现。但是解决方案不应该是每次打开计算机时这个程序都会运行。我希望有一个程序"A“,可以运行我的程序与一个机器人。如果我不运行程序"A",那么我的程序就不会自动启动

Вотмойкоддляпримера:

(这是我的代码:)

代码语言:javascript
运行
复制
import telebot
bot = telebot.TeleBot('*************')


@bot.message_handler(content_types=['text'])
def get_text_messages(my_mes):
    try:
        if my_mes.text == "/help":
            bot.send_message(my_mes.from_user.id, "hi")
        elif 0 < int(my_mes.text) < 5:
            num = int(my_mes.text) + 1
            bot.send_message(my_mes.from_user.id, str(num))
    except:
        bot.send_message(my_mes.from_user.id, "write /help.")

bot.polling(none_stop=True, interval=0)
EN

回答 1

Stack Overflow用户

发布于 2022-10-12 14:57:12

你可以用这个:

代码语言:javascript
运行
复制
if __name__ == '__main__':
    try:
        bot.polling(none_stop=True, timeout=999999)
        while True:
            time.sleep(100)
    except Exception as e:
        print(str(e))
        time.sleep(6)

而不是这样:

代码语言:javascript
运行
复制
bot.polling(none_stop=True, interval=0)

就我而言,这解决了问题。顺便说一句,许多人建议使用webhooks而不是池。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73996199

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档