Exemplo n.º 1
0
def middlewares_setup(dispatcher: Dispatcher):
    logger.info("Configure middlewares")

    dispatcher.middleware.setup(LoggingMiddleware("bot"))
    dispatcher.middleware.setup(ACLMiddleware())
import aiohttp
from aiogram import Bot, Dispatcher, executor, types
from aiogram.contrib.middlewares.logging import LoggingMiddleware
from aiogram.utils.executor import start_webhook

from exceptions import NotCorrectMessage
from expenses import (add_expense, get_today_statistics, get_month_statistics,
                      last, delete_expense)
from categories import Categories
from .settings import (API_TOKEN, HEROKU_APP_NAME, WEBHOOK_URL, WEBHOOK_PATH,
                       WEBAPP_HOST, WEBAPP_PORT)

bot = Bot(token=API_TOKEN)
dp = Dispatcher(bot)
dp.middleware.setup(LoggingMiddleware())


@dp.message_handler(commands=['start', 'help'])
async def send_welcome(message: types.Message):
    """Отправляет приветственное сообщение и помощь по боту"""
    await message.answer("Бот для учёта финансов\n\n"
                         "Добавить расход: 250 такси\n"
                         "Сегодняшняя статистика: /today\n"
                         "За текущий месяц: /month\n"
                         "Последние внесённые расходы: /expenses\n"
                         "Категории трат: /categories")


@dp.message_handler(lambda message: message.text.startswith('/del'))
async def del_expense(message: types.Message):
Exemplo n.º 3
0
def setup(dp: Dispatcher):
    dp.middleware.setup(i18n.i18n)
    dp.middleware.setup(client_middleware.ClientMiddleware())
    dp.middleware.setup(LoggingMiddleware())
Exemplo n.º 4
0
def setup(dp: Dispatcher):
    logger.info("Configure middlewares...")
    dp.middleware.setup(ThrottlingMiddleware())
    dp.middleware.setup(LoggingMiddleware())
    logger.info("Middlewares are successfully configured")
Exemplo n.º 5
0
from aiogram import executor, types, Dispatcher, filters
from models import *
from config import bot
from aiogram.contrib.middlewares.logging import LoggingMiddleware
from lang import Lang
from utils.graber import swaps_worker
import re
import logging

logging.basicConfig(format='%(asctime)s %(message)s', level=logging.INFO)

log = logging.getLogger()

dp = Dispatcher(bot)
logger_middleware = LoggingMiddleware()
dp.middleware.setup(logger_middleware)


@dp.message_handler(lambda x: x.reply_markup)
async def pass_msg_with_btns(message):
    pass


@dp.message_handler(commands=['live', 'blive'])
async def live_handler(message: types.Message):
    try:
        _, pair = message.text.split()
        if match := re.match(r"0x\w{40}", pair):
            live_obj = await LiveGate.create(chat_id=message.chat.id,
                                             active=True)
            live_obj.pair = match.group(0)
Exemplo n.º 6
0
def register_middlewares(dp: Dispatcher):
    dp.middleware.setup(AuthMiddleware())
    dp.middleware.setup(LoggingMiddleware())
Exemplo n.º 7
0
def register(dispatcher: Dispatcher, session: orm.Session) -> None:
    dispatcher.middleware.setup(LoggingMiddleware("bot"))
    dispatcher.middleware.setup(ACLMiddleware(session))
Exemplo n.º 8
0
from aiogram.types import Message, ContentTypes
from aiogram.utils import executor

from config import TOKEN

BOT_DIR = Path(__file__).resolve().parent

STICKERS_DIR: Path = BOT_DIR / "stickers"
STICKERS_DIR.mkdir(exist_ok=True)

logging.basicConfig(level=logging.DEBUG)

bot = Bot(TOKEN)
dp = Dispatcher(bot)

logging_middleware = LoggingMiddleware()
dp.middleware.setup(logging_middleware)


@dp.message_handler()
async def echo_message(message: Message):
    return await message.answer(message.text)
    # await bot.send_message()


@dp.message_handler(content_types=ContentTypes.PHOTO)
async def echo_photo(message: Message):
    return await message.answer_photo(
        message.photo[-1].file_id,
        caption=f"You wrote: {message.caption!r}",
    )
Exemplo n.º 9
0
from aiogram.contrib.middlewares.logging import LoggingMiddleware
from aiogram.dispatcher import FSMContext
from aiogram.dispatcher.filters.state import State, StatesGroup
from aiogram.types import *
from aiogram.utils.helper import HelperMode

from config import settings
from crypto.btc import make_keys

logging.basicConfig(level=logging.INFO)
logger = logging.getLogger('bot')

bot = Bot(token=settings.telegram.token, parse_mode=types.ParseMode.HTML)
storage = RedisStorage2()
dp = Dispatcher(bot, storage=storage)
dp.middleware.setup(LoggingMiddleware(logger))


class SwapStates(StatesGroup):
    mode = HelperMode.snake_case

    START = State()
    ASK_SOURCE = State()
    ASK_DEST = State()
    ASK_DEST_ADDRESS = State()
    CONFIRM = State()
    FINISHED = State()


@dp.message_handler(content_types=types.ContentTypes.STICKER, state='*')
async def handle_sticker(message: types.Message, state: FSMContext):
Exemplo n.º 10
0
bp_user = os.environ['BP_USER']

# # mqtt
# url = os.environ.get("CLOUDAMQP_URL")
# params = pika.URLParameters(url)
# connections = pika.BlockingConnection(params)
# channel = connections.channel()
#
# channel.exchange_declare("test_exchange")
# # channel.queue_declare("mqtt-subscription-ESP8266qos0", auto_delete=False)
# channel.queue_bind("mqtt-subscription-ESP8266qos0", "test_exchange", "led_on_off")

bot = Bot(token=telegram_token)
storage = MemoryStorage()
dispatcher = Dispatcher(bot, storage=storage)
dispatcher.middleware.setup(LoggingMiddleware())

CLIENT = redis.from_url(redis_url)


@dispatcher.message_handler(commands=["start"])
async def send_welcome(message: types.Message):
    logging.warning("Starting connection.")
    await types.ChatActions.typing(0.5)
    await message.reply("Hello, i'm GladOS. beep boop...\n", reply_markup=markup)


@dispatcher.message_handler(Text(equals="weather"))
async def weather_worker(message):
    await types.ChatActions.typing(0.5)
    await message.reply(weather.get_weather(weather_token))
Exemplo n.º 11
0
from aiogram.contrib.middlewares.logging import LoggingMiddleware

from misc import disp

disp.middleware.setup(LoggingMiddleware(__name__))

"""
Logging middleware is used to log bot-related events
"""
Exemplo n.º 12
0
from aiogram import Bot, Dispatcher
from aiogram.contrib.fsm_storage.memory import MemoryStorage
from aiogram.contrib.middlewares.logging import LoggingMiddleware
from aiogram.types import ParseMode
from aiogram.utils.executor import Executor
import sentry_sdk

from core import config
from core.packages import PackagesLoader
from mixpanel import Mixpanel

logging.basicConfig(level=logging.INFO)

log = logging.getLogger('{{cookiecutter.bot_name}}')

loop = asyncio.get_event_loop()

bot = Bot(config.bot_token, parse_mode=ParseMode.HTML, validate_token=False)
storage = MemoryStorage()
dp = Dispatcher(bot, storage=storage, loop=loop)
runner = Executor(dp, skip_updates=config.skip_updates)

loader = PackagesLoader()

dp.middleware.setup(LoggingMiddleware('bot'))

mp = Mixpanel(config.mixpanel_key)

if config.sentry_url:
    sentry_sdk.init(config.sentry_url)
Exemplo n.º 13
0
def setup(dispatcher: Dispatcher, config: Config):
    logger.info("Configure middlewares...")
    dispatcher.middleware.setup(
        DBMiddleware(tg_client_config=config.tg_client))
    dispatcher.middleware.setup(ConfigMiddleware(config))
    dispatcher.middleware.setup(LoggingMiddleware())