Код зависает при попытке запустить код, развертывание бота Telegram - PullRequest
1 голос
/ 07 мая 2020

Я пытаюсь скомпилировать код python и запустить его как бот телеграммы.
Когда я запускаю его в VS Code или в консоли CMD (python main.py), он зависает.

Однако, когда я разбивал код по отдельности и запускал, он работал хорошо.

1) Может ли PyGod указать, где я делаю не так?
2) Я понял, что это происходит, когда я пытаюсь повторно развернуть бота Telegram. У кого-нибудь есть идеи по этому поводу?


from telegram.ext import Updater, InlineQueryHandler, CommandHandler
from telegram.ext.dispatcher import run_async
import requests
import re

def get_url():

    contents = requests.get('https://dog.ceo/api/breed/retriever/golden/images/random').json()
    url = contents['message']   
    return url

def get_image_url():

    allowed_extension = ['jpg','jpeg','png']
    file_extension = ''
    while file_extension not in allowed_extension:
        url = get_url()
        file_extension = re.search("([^.]*)$",url).group(1).lower()
    return url

@run_async
def goodboy(update, context):
  url = get_image_url()
  chat_id = update.message.chat_id
  context.bot.send_photo(chat_id=chat_id, photo=url)

def main():

    updater = Updater('YOUR_TOKEN', use_context=True)
    dp = updater.dispatcher
    dp.add_handler(CommandHandler('goodboy',goodboy))
    updater.start_polling()
    updater.idle()

if __name__ == '__main__':
    main()

...