Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
anasty17
GitHub Repository: anasty17/mirror-leech-telegram-bot
Path: blob/master/bot/__init__.py
1626 views
1
from uvloop import install
2
3
install()
4
from apscheduler.schedulers.asyncio import AsyncIOScheduler
5
from asyncio import Lock, new_event_loop, set_event_loop
6
from logging import (
7
getLogger,
8
FileHandler,
9
StreamHandler,
10
INFO,
11
basicConfig,
12
WARNING,
13
ERROR,
14
)
15
from sabnzbdapi import SabnzbdClient
16
from time import time
17
from os import cpu_count
18
19
getLogger("requests").setLevel(WARNING)
20
getLogger("urllib3").setLevel(WARNING)
21
getLogger("pyrogram").setLevel(ERROR)
22
getLogger("httpx").setLevel(WARNING)
23
getLogger("pymongo").setLevel(WARNING)
24
getLogger("aiohttp").setLevel(WARNING)
25
26
bot_start_time = time()
27
28
bot_loop = new_event_loop()
29
set_event_loop(bot_loop)
30
31
basicConfig(
32
format="%(asctime)s - %(name)s - %(levelname)s - %(message)s",
33
handlers=[FileHandler("log.txt"), StreamHandler()],
34
level=INFO,
35
)
36
37
LOGGER = getLogger(__name__)
38
cpu_no = cpu_count()
39
threads = max(1, cpu_no // 2)
40
cores = ",".join(str(i) for i in reversed(range(threads)))
41
42
DOWNLOAD_DIR = "/app/downloads/"
43
intervals = {"status": {}, "qb": "", "jd": "", "nzb": "", "stopAll": False}
44
qb_torrents = {}
45
jd_downloads = {}
46
nzb_jobs = {}
47
user_data = {}
48
aria2_options = {}
49
qbit_options = {}
50
nzb_options = {}
51
queued_dl = {}
52
queued_up = {}
53
status_dict = {}
54
task_dict = {}
55
rss_dict = {}
56
auth_chats = {}
57
excluded_extensions = ["aria2", "!qB"]
58
included_extensions = []
59
drives_names = []
60
drives_ids = []
61
index_urls = []
62
sudo_users = []
63
non_queued_dl = set()
64
non_queued_up = set()
65
multi_tags = set()
66
task_dict_lock = Lock()
67
queue_dict_lock = Lock()
68
qb_listener_lock = Lock()
69
nzb_listener_lock = Lock()
70
jd_listener_lock = Lock()
71
cpu_eater_lock = Lock()
72
same_directory_lock = Lock()
73
74
sabnzbd_client = SabnzbdClient(
75
host="http://localhost",
76
api_key="mltb",
77
port="8070",
78
)
79
80
scheduler = AsyncIOScheduler(event_loop=bot_loop)
81
82