Beispiel #1
0
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)
Beispiel #2
0
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,
    )
Beispiel #3
0
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("картинка отправлена")