无法获得列表Telegram bot API的新鲜长度

时间:2017-05-29 20:54:46

标签: global-variables telegram telegram-bot python-telegram-bot

我有一个烧瓶电报机器人,在Heroku上部署了pyTelegramBotAPI。需要在开始消息中获得新的列表长度。在 gettinglist.py 中每5分钟清单一次。找不到我的错误,请帮帮忙。

bot.py

import config
import gettinglist
from gettinglist import getting_list
import telebot
from flask import Flask, request
from threading import Thread

def app_run():
    app.run(host="0.0.0.0", port=os.environ.get('PORT', 80))

msg_start = """
Lenght of list now: %d
""" % config.LIST_LENGHT

application_thread = Thread(target=app_run)
getting_list_thread = Thread(target=getting_list)

bot = telebot.TeleBot("<MY_BOT_TOKEN>")

@bot.message_handler(commands=['start'])
def start():
    cid = m.chat.id
    bot.send_message(cid, msg_start, parse_mode='html')

@app.route("/bot", methods=['POST'])
def getMessage():
    bot.process_new_updates([telebot.types.Update.de_json(request.stream.read().decode("utf-8"))])
    return "ok", 200

@app.route("/")
def webhook():
    bot.remove_webhook()
    bot.set_webhook(url="<HEROKU_APP_URL>")
    return "ok", 200

if __name__ == '__main__':
    application_thread.start()
    getting_list_thread.start()

gettinglist.py

import config
from time import sleep

LIST_LENGHT = 0
LIST = []

def getting_list():
    while True:
        global LIST
        global LIST_LENGHT

        LIST = [num for num in range(0, 100)]
        config.LIST_LENGHT = len(LIST)

        return LIST
        sleep(300)

config.py

LIST_LENGHT = 0

0 个答案:

没有答案