This repository was archived by the owner on Jun 13, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathengine.py
More file actions
40 lines (34 loc) · 1.41 KB
/
engine.py
File metadata and controls
40 lines (34 loc) · 1.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import logging
import asyncio
import config
from aiogram import Bot, Dispatcher, types
from aiogram.contrib.fsm_storage.memory import MemoryStorage
from aiogram.utils import context
from aiochatbase import Chatbase
from moderator import Moderator
logger = logging.getLogger(f'TrueModer.{__name__}')
loop = asyncio.get_event_loop()
loop.set_task_factory(context.task_factory)
def get_proxy_data():
if config.PROXY_URL and config.PROXY_LOGIN and config.PROXY_PASSWORD:
proxy = config.PROXY_URL
if proxy.startswith('socks5'):
import aiosocksy
logger.info('Socks5 proxy enabled.')
proxy_auth = aiosocksy.Socks5Auth(login=config.PROXY_LOGIN, password=config.PROXY_PASSWORD)
else:
import aiohttp
logger.info('HTTP proxy enabled.')
proxy_auth = aiohttp.BasicAuth(login=config.PROXY_LOGIN, password=config.PROXY_PASSWORD)
else:
logger.info('Proxy disabled.')
proxy = None
proxy_auth = None
return proxy, proxy_auth
# vars and instances
url, auth = get_proxy_data()
bot = Bot(token=config.TELEGRAM_TOKEN, loop=loop, proxy=url, proxy_auth=auth, parse_mode=types.ParseMode.HTML)
dp = Dispatcher(bot, storage=MemoryStorage(), run_tasks_by_default=True)
cb = Chatbase(api_key=config.CHATBASE_KEY, loop=loop, platform='Telegram', task_mode=True,
pool_size=config.CHATBASE_POOL_SIZE)
moder = Moderator(bot, cb)