-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbot.py
151 lines (139 loc) · 5.47 KB
/
bot.py
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
# (©)Codexbotz
# Recode by @mrismanaziz
# t.me/SharingUserbot & t.me/Lunatic0de
import pyromod.listen
import sys
from pyrogram import Client
from pyrogram.types import ChatJoinRequest
from config import (
API_HASH,
APP_ID,
CHANNEL_ID,
FORCE_SUB_CHANNEL,
FORCE_SUB_GROUP,
FORCE_SUB_CHANNEL2,
LOGGER,
TG_BOT_TOKEN,
TG_BOT_WORKERS,
)
class Bot(Client):
def __init__(self):
super().__init__(
"Bot",
api_hash=API_HASH,
api_id=APP_ID,
plugins={"root": "plugins"},
workers=TG_BOT_WORKERS,
bot_token=TG_BOT_TOKEN,
)
self.LOGGER = LOGGER
async def start(self):
try:
await super().start()
usr_bot_me = await self.get_me()
self.username = usr_bot_me.username
self.namebot = usr_bot_me.first_name
self.LOGGER(__name__).info(
f"TG_BOT_TOKEN detected!\n┌ First Name: {self.namebot}\n└ Username: @{self.username}\n——"
)
except Exception as a:
self.LOGGER(__name__).warning(a)
self.LOGGER(__name__).info(
"Bot Berhenti."
)
sys.exit()
if FORCE_SUB_CHANNEL:
try:
info = await self.get_chat(FORCE_SUB_CHANNEL)
link = info.invite_link
if not link:
await self.create_chat_invite_link(FORCE_SUB_CHANNEL)
# Kalo error pke yg ini
# await self.create_chat_invite_link(FORCE_SUB_CHANNEL, creates_join_request=True)
link = info.invite_link
self.invitelink = link
self.LOGGER(__name__).info(
f"FORCE_SUB_CHANNEL detected!\n┌ Title: {info.title}\n└ Chat ID: {info.id}\n——"
)
except Exception as a:
self.LOGGER(__name__).warning(a)
self.LOGGER(__name__).warning(
"Bot tidak dapat Mengambil link invite dari FORCE_SUB_CHANNEL!"
)
self.LOGGER(__name__).warning(
f"Pastikan @{self.username} adalah admin di Channel Tersebut, Chat ID F-Subs Channel Saat Ini: {FORCE_SUB_CHANNEL}"
)
self.LOGGER(__name__).info(
"Bot Berhenti."
)
sys.exit()
if FORCE_SUB_CHANNEL2:
try:
info = await self.get_chat(FORCE_SUB_CHANNEL2)
link = info.invite_link
if not link:
await self.export_chat_invite_link(FORCE_SUB_CHANNEL2)
link = info.invite_link
self.invitelink3 = link
self.LOGGER(__name__).info(
f"FORCE_SUB_CHANNEL2 detected!\n┌ Title: {info.title}\n└ Chat ID: {info.id}\n——"
)
except Exception as a:
self.LOGGER(__name__).warning(a)
self.LOGGER(__name__).warning(
"Bot tidak dapat Mengambil link invite dari FORCE_SUB_CHANNEL2!"
)
self.LOGGER(__name__).warning(
f"Pastikan @{self.username} adalah admin di Channel Tersebut, Chat ID F-Subs Channel Saat Ini: {FORCE_SUB_CHANNEL2}"
)
self.LOGGER(__name__).info(
"Bot Berhenti."
)
sys.exit()
if FORCE_SUB_GROUP:
try:
info = await self.get_chat(FORCE_SUB_GROUP)
link = info.invite_link
if not link:
await self.export_chat_invite_link(FORCE_SUB_GROUP)
link = info.invite_link
self.invitelink2 = link
self.LOGGER(__name__).info(
f"FORCE_SUB_GROUP detected!\n┌ Title: {info.title}\n└ Chat ID: {info.id}\n——"
)
except Exception as a:
self.LOGGER(__name__).warning(a)
self.LOGGER(__name__).warning(
"Bot tidak dapat Mengambil link invite dari FORCE_SUB_GROUP!"
)
self.LOGGER(__name__).warning(
f"Pastikan @{self.username} adalah admin di Group Tersebut, Chat ID F-Subs Group Saat Ini: {FORCE_SUB_GROUP}"
)
self.LOGGER(__name__).info(
"Bot Berhenti."
)
sys.exit()
try:
db_channel = await self.get_chat(CHANNEL_ID)
self.db_channel = db_channel
test = await self.send_message(chat_id=db_channel.id, text="Test Message", disable_notification=True)
await test.delete()
self.LOGGER(__name__).info(
f"CHANNEL_ID Database detected!\n┌ Title: {db_channel.title}\n└ Chat ID: {db_channel.id}\n——"
)
except Exception as e:
self.LOGGER(__name__).warning(e)
self.LOGGER(__name__).warning(
f"Pastikan @{self.username} adalah admin di Channel DataBase anda, CHANNEL_ID Saat Ini: {CHANNEL_ID}"
)
self.LOGGER(__name__).info(
"Bot Berhenti."
)
sys.exit()
self.set_parse_mode("html")
self.LOGGER(__name__).info(
f"[🔥 BERHASIL DIAKTIFKAN! 🔥]"
)
async def stop(self, *args):
await super().stop()
self.LOGGER(__name__).info("Bot stopped.")