def main(): client = BittrexClient() try: current_price = client.get_last_price(pair=NOTIFY_PAIR) message = "{} = {}".format(NOTIFY_PAIR, current_price) except BittrexError: logger.error("BittrexError") message = "Произошла ошибка" config = load_config() # Подключиться к API req = Request( connect_timeout=0.5, read_timeout=1.0, ) bot = Bot( token=config.TG_TOKEN, request=req, base_url=config.TG_API_URL, ) # Проверить что бот корректно подключился к Telegram API info = bot.get_me() logger.info(f'Bot info: {info}') # Отправить сообщение bot.send_message( chat_id=NOTIFY_USER_ID, text=message, ) logger.info('Success: %s', message)
def main(): client = BittrexClient() try: current_price = client.get_last_price(pair=NOTIFY_PAIR) message = "{} = {}".format(NOTIFY_PAIR, current_price) except BittrexError: logger.error("BittrexError") message = "Произошла ошибка" config = load_config() bot = Bot( token=config.TG_TOKEN, base_url=config.TG_API_URL, ) bot.send_message( chat_id=NOTIFY_USER_ID, text=message, )
from telegram import Update from telegram.ext import CallbackContext from telegram.ext import Updater from telegram.ext import MessageHandler from telegram.ext import CommandHandler from telegram.ext import ConversationHandler from telegram.ext import Filters from echo.config import load_config from echo.utils import debug_requests from anketa.validators import GENDER_MAP from anketa.validators import gender_hru from anketa.validators import validate_age from anketa.validators import validate_gender config = load_config() logger = getLogger(__name__) NAME, GENDER, AGE = range(3) @debug_requests def start_handler(update: Update, context: CallbackContext): # Спросить имя update.message.reply_text('Введи своё имя чтобы продолжить:', ) return NAME @debug_requests def name_handler(update: Update, context: CallbackContext):
def main(): parser = argparse.ArgumentParser() # Оба аргумента опциональные, поэтому они начинаются с -- parser.add_argument("--image", help="Отправить сообщение с картинкой", action="store_true") parser.add_argument("--text", help="Отправить сообщение с текстом", action="store_true") args = parser.parse_args() # Нельзя указать оба сразу if args.image and args.text: logger.error("Нельзя указать одновременно `--image` и `--text`") sys.exit(1) # Если ничего не указано, то считаем что это --text if not any([args.image, args.text]): args.text = True config = load_config() client = BittrexClient() try: current_price = client.get_last_price(pair=config.NOTIFY_PAIR) message = "{} = {}".format(config.NOTIFY_PAIR, current_price) except BittrexError: logger.error("BittrexError") current_price = None message = "Произошла ошибка" config = load_config() # Подключиться к API req = Request( connect_timeout=0.5, read_timeout=1.0, ) bot = Bot( token=config.TG_TOKEN, request=req, base_url=config.TG_API_URL, ) # Проверить что бот корректно подключился к Telegram API info = bot.get_me() logger.info(f'Bot info: {info}') # Отправить сообщение bot.send_message( chat_id=config.NOTIFY_USER_ID, text=message, ) logger.info('Success: %s', message) if args.text: bot.send_message( chat_id=config.NOTIFY_USER_ID, text=message, ) logger.info("текстовое сообщение отправлено") if args.image: if current_price: text = [config.NOTIFY_PAIR, current_price] else: text = [config.NOTIFY_PAIR, message] img = drawer(text=text) photo = save_image(img=img) bot.send_photo( chat_id=config.NOTIFY_USER_ID, photo=photo, caption='Подпись под фото', ) logger.info("картинка отправлена")