from signal import signal, SIGINT, SIGTERM, SIGABRT from telegram import (Bot, TelegramError, dispatcher, Dispatcher, NullHandler) from telegram.utils.webhookhandler import (WebhookServer, WebhookHandler) # Adjust for differences in Python versions try: from Queue import Queue except ImportError: from queue import Queue try: from urllib2 import URLError except ImportError: from urllib.error import URLError H = NullHandler() logging.getLogger(__name__).addHandler(H) class Updater: """ This class, which employs the Dispatcher class, provides a frontend to telegram.Bot to the programmer, so they can focus on coding the bot. It's purpose is to receive the updates from Telegram and to deliver them to said dispatcher. It also runs in a separate thread, so the user can interact with the bot, for example on the command line. The dispatcher supports handlers for different kinds of data: Updates from Telegram, basic text commands and even arbitrary types. The updater can be started as a polling service or, for production, use a webhook to receive updates. This is achieved using the WebhookServer and WebhookHandler classes.
from time import sleep import subprocess from signal import signal, SIGINT, SIGTERM, SIGABRT # Adjust for differences in Python versions try: from queue import Queue # flake8: noqa except ImportError: from Queue import Queue # flake8: noqa from telegram import Bot, TelegramError, NullHandler from telegram.ext import dispatcher, Dispatcher, JobQueue from telegram.error import Unauthorized, InvalidToken from telegram.utils.webhookhandler import (WebhookServer, WebhookHandler) logging.getLogger(__name__).addHandler(NullHandler()) class Updater(object): """ This class, which employs the Dispatcher class, provides a frontend to telegram.Bot to the programmer, so they can focus on coding the bot. Its purpose is to receive the updates from Telegram and to deliver them to said dispatcher. It also runs in a separate thread, so the user can interact with the bot, for example on the command line. The dispatcher supports handlers for different kinds of data: Updates from Telegram, basic text commands and even arbitrary types. The updater can be started as a polling service or, for production, use a webhook to receive updates. This is achieved using the WebhookServer and WebhookHandler classes.