Skip to content
This repository was archived by the owner on Dec 22, 2020. It is now read-only.

Commit 517953b

Browse files
ahmetackfrknkrc44
andcommitted
seden: Release v3.4
- Küçük çaplı iyileştirmeler yapıldı, Güvenlik sorunları çözüldü. - .specs komutu baştan yazıldı. - .getsticker ve .stickerid komutu eklendi. - Bildirilen hatalar çözüldü. - Gereksiz bağımlılıklar kaldırıldı. Co-authored-by: frknkrc44 <[email protected]> Signed-off-by: NaytSeyd <[email protected]> Signed-off-by: frknkrc44 <[email protected]>
1 parent 30a9f39 commit 517953b

File tree

8 files changed

+328
-284
lines changed

8 files changed

+328
-284
lines changed

sedenbot/__init__.py

Lines changed: 64 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -15,45 +15,39 @@
1515
#
1616

1717
""" UserBot hazırlanışı. """
18-
import os
19-
import re
20-
2118
from sys import version_info
19+
if version_info[0] < 3 or version_info[1] < 8:
20+
LOGS.info("En az python 3.8 sürümüne sahip olmanız gerekir. "
21+
"Birden fazla özellik buna bağlıdır. Bot kapatılıyor.")
22+
quit(1)
23+
24+
from os import environ
25+
from re import compile as recomp
26+
from re import search as resr
27+
2228
from logging import basicConfig, getLogger, INFO, DEBUG
2329
from distutils.util import strtobool as sb
2430
from math import ceil
2531

2632
from pylast import LastFMNetwork, md5
2733
from dotenv import load_dotenv
28-
from requests import get
2934
from telethon.sync import TelegramClient, custom, events
3035
from telethon.sessions import StringSession
31-
from telethon.utils import get_peer_id
3236
load_dotenv("config.env")
3337

3438
# Bot günlükleri kurulumu:
35-
CONSOLE_LOGGER_VERBOSE = sb(os.environ.get("CONSOLE_LOGGER_VERBOSE", "False"))
39+
CONSOLE_LOGGER_VERBOSE = sb(environ.get("CONSOLE_LOGGER_VERBOSE", "False"))
3640

3741
ASYNC_POOL = []
38-
39-
if CONSOLE_LOGGER_VERBOSE:
40-
basicConfig(
41-
format="%(asctime)s - %(name)s - %(levelname)s - %(message)s",
42-
level=DEBUG,
43-
)
44-
else:
45-
basicConfig(format="%(asctime)s - %(name)s - %(levelname)s - %(message)s",
46-
level=INFO)
42+
basicConfig(
43+
format="%(asctime)s - %(name)s - %(levelname)s - %(message)s",
44+
level=DEBUG if CONSOLE_LOGGER_VERBOSE else INFO,
45+
)
4746
LOGS = getLogger(__name__)
4847

49-
if version_info[0] < 3 or version_info[1] < 8:
50-
LOGS.info("En az python 3.8 sürümüne sahip olmanız gerekir."
51-
"Birden fazla özellik buna bağlıdır. Bot kapatılıyor.")
52-
quit(1)
53-
5448
# Yapılandırmanın önceden kullanılan değişkeni kullanarak düzenlenip düzenlenmediğini kontrol edin.
5549
# Temel olarak, yapılandırma dosyası için kontrol.
56-
CONFIG_CHECK = os.environ.get(
50+
CONFIG_CHECK = environ.get(
5751
"___________LUTFEN_______BU_____SATIRI_____SILIN__________", None)
5852

5953
if CONFIG_CHECK:
@@ -63,80 +57,81 @@
6357
quit(1)
6458

6559
# Telegram API KEY ve HASH
66-
API_KEY = os.environ.get("API_KEY", None)
67-
API_HASH = os.environ.get("API_HASH", None)
60+
API_KEY = environ.get("API_KEY", None)
61+
API_HASH = environ.get("API_HASH", None)
6862

6963
# UserBot Session String
70-
STRING_SESSION = os.environ.get("STRING_SESSION", None)
64+
STRING_SESSION = environ.get("STRING_SESSION", None)
7165

7266
# Kanal / Grup ID yapılandırmasını günlüğe kaydetme.
73-
BOTLOG_CHATID = int(os.environ.get("BOTLOG_CHATID", None))
67+
BOTLOG_CHATID = environ.get("BOTLOG_CHATID", None)
68+
BOTLOG_CHATID = int(BOTLOG_CHATID) if BOTLOG_CHATID and resr('^-?\d+$', BOTLOG_CHATID) else None
7469

7570
# Alive Mesajını değiştirme.
76-
ALIVE_MESAJI = os.environ.get("ALIVE_MESAJI", "Merhaba Seden! Seni Seviyorum ❤️")
71+
ALIVE_MESAJI = environ.get("ALIVE_MESAJI", "Merhaba Seden! Seni Seviyorum ❤️")
7772

7873
# UserBot günlükleme özelliği.
79-
BOTLOG = sb(os.environ.get("BOTLOG", "False"))
80-
LOGSPAMMER = sb(os.environ.get("LOGSPAMMER", "False"))
74+
BOTLOG = sb(environ.get("BOTLOG", "False"))
75+
LOGSPAMMER = sb(environ.get("LOGSPAMMER", "False"))
8176

8277
# Hey! Bu bir bot. Endişelenme ;)
83-
PM_AUTO_BAN = sb(os.environ.get("PM_AUTO_BAN", "False"))
78+
PM_AUTO_BAN = sb(environ.get("PM_AUTO_BAN", "False"))
8479

8580
# Güncelleyici için Heroku hesap bilgileri.
86-
HEROKU_APPNAME = os.environ.get("HEROKU_APPNAME", None)
87-
HEROKU_APIKEY = os.environ.get("HEROKU_APIKEY", None)
81+
HEROKU_APPNAME = environ.get("HEROKU_APPNAME", None)
82+
HEROKU_APIKEY = environ.get("HEROKU_APIKEY", None)
8883

8984
# Güncelleyici için özel (fork) repo linki.
90-
UPSTREAM_REPO_URL = os.environ.get(
85+
UPSTREAM_REPO_URL = environ.get(
9186
"UPSTREAM_REPO_URL",
9287
"https://github.com/TeamDerUntergang/Telegram-UserBot.git")
9388

9489
# Ayrıntılı konsol günlügü
95-
CONSOLE_LOGGER_VERBOSE = sb(os.environ.get("CONSOLE_LOGGER_VERBOSE", "False"))
90+
CONSOLE_LOGGER_VERBOSE = sb(environ.get("CONSOLE_LOGGER_VERBOSE", "False"))
9691

9792
# SQL Veritabanı
98-
DB_URI = os.environ.get("DATABASE_URL", None)
93+
DB_URI = environ.get("DATABASE_URL", None)
9994

10095
# OCR API key
101-
OCR_SPACE_API_KEY = os.environ.get("OCR_SPACE_API_KEY", None)
96+
OCR_SPACE_API_KEY = environ.get("OCR_SPACE_API_KEY", None)
10297

10398
# remove.bg API key
104-
REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None)
99+
REM_BG_API_KEY = environ.get("REM_BG_API_KEY", None)
105100

106101
# AUTO PP
107-
AUTO_PP = os.environ.get("AUTO_PP", None)
102+
AUTO_PP = environ.get("AUTO_PP", None)
108103

109104
# Chrome sürücüsü ve Google Chrome dosyaları
110-
CHROME_DRIVER = os.environ.get("CHROME_DRIVER", None)
105+
CHROME_DRIVER = environ.get("CHROME_DRIVER", None)
111106

112107
# Hava durumu varsayılan şehir
113-
WEATHER_DEFCITY = os.environ.get("WEATHER_DEFCITY", None)
108+
WEATHER_DEFCITY = environ.get("WEATHER_DEFCITY", None)
114109

115110
# Lydia API
116-
LYDIA_API_KEY = os.environ.get("LYDIA_API_KEY", None)
111+
LYDIA_API_KEY = environ.get("LYDIA_API_KEY", None)
117112

118113
# Anti Spambot
119-
ANTI_SPAMBOT = sb(os.environ.get("ANTI_SPAMBOT", "False"))
120-
ANTI_SPAMBOT_SHOUT = sb(os.environ.get("ANTI_SPAMBOT_SHOUT", "False"))
114+
ANTI_SPAMBOT = sb(environ.get("ANTI_SPAMBOT", "False"))
115+
ANTI_SPAMBOT_SHOUT = sb(environ.get("ANTI_SPAMBOT_SHOUT", "False"))
121116

122117
# Youtube API key
123-
YOUTUBE_API_KEY = os.environ.get("YOUTUBE_API_KEY", None)
118+
YOUTUBE_API_KEY = environ.get("YOUTUBE_API_KEY", None)
124119

125120
# Saat & Tarih - Ülke ve Saat Dilimi
126-
COUNTRY = str(os.environ.get("COUNTRY", ""))
127-
TZ_NUMBER = int(os.environ.get("TZ_NUMBER", 1))
121+
COUNTRY = str(environ.get("COUNTRY", ""))
122+
TZ_NUMBER = int(environ.get("TZ_NUMBER", 3))
128123

129124
# Temiz Karşılama
130-
CLEAN_WELCOME = sb(os.environ.get("CLEAN_WELCOME", "True"))
125+
CLEAN_WELCOME = sb(environ.get("CLEAN_WELCOME", "True"))
131126

132127
# Last.fm modülü
133-
BIO_PREFIX = os.environ.get("BIO_PREFIX", None)
134-
DEFAULT_BIO = os.environ.get("DEFAULT_BIO", None)
128+
BIO_PREFIX = environ.get("BIO_PREFIX", None)
129+
DEFAULT_BIO = environ.get("DEFAULT_BIO", None)
135130

136-
LASTFM_API = os.environ.get("LASTFM_API", None)
137-
LASTFM_SECRET = os.environ.get("LASTFM_SECRET", None)
138-
LASTFM_USERNAME = os.environ.get("LASTFM_USERNAME", None)
139-
LASTFM_PASSWORD_PLAIN = os.environ.get("LASTFM_PASSWORD", None)
131+
LASTFM_API = environ.get("LASTFM_API", None)
132+
LASTFM_SECRET = environ.get("LASTFM_SECRET", None)
133+
LASTFM_USERNAME = environ.get("LASTFM_USERNAME", None)
134+
LASTFM_PASSWORD_PLAIN = environ.get("LASTFM_PASSWORD", None)
140135
LASTFM_PASS = md5(LASTFM_PASSWORD_PLAIN)
141136
if LASTFM_API and LASTFM_SECRET and LASTFM_USERNAME and LASTFM_PASS:
142137
lastfm = LastFMNetwork(api_key=LASTFM_API,
@@ -147,22 +142,22 @@
147142
lastfm = None
148143

149144
# Google Drive Modülü
150-
G_DRIVE_CLIENT_ID = os.environ.get("G_DRIVE_CLIENT_ID", None)
151-
G_DRIVE_CLIENT_SECRET = os.environ.get("G_DRIVE_CLIENT_SECRET", None)
152-
G_DRIVE_AUTH_TOKEN_DATA = os.environ.get("G_DRIVE_AUTH_TOKEN_DATA", None)
153-
GDRIVE_FOLDER_ID = os.environ.get("GDRIVE_FOLDER_ID", None)
154-
TEMP_DOWNLOAD_DIRECTORY = os.environ.get("TMP_DOWNLOAD_DIRECTORY",
145+
G_DRIVE_CLIENT_ID = environ.get("G_DRIVE_CLIENT_ID", None)
146+
G_DRIVE_CLIENT_SECRET = environ.get("G_DRIVE_CLIENT_SECRET", None)
147+
G_DRIVE_AUTH_TOKEN_DATA = environ.get("G_DRIVE_AUTH_TOKEN_DATA", None)
148+
GDRIVE_FOLDER_ID = environ.get("GDRIVE_FOLDER_ID", None)
149+
TEMP_DOWNLOAD_DIRECTORY = environ.get("TMP_DOWNLOAD_DIRECTORY",
155150
"./downloads")
156151

157152
# Inline bot çalışması için
158-
BOT_TOKEN = os.environ.get("BOT_TOKEN", None)
159-
BOT_USERNAME = os.environ.get("BOT_USERNAME", None)
153+
BOT_TOKEN = environ.get("BOT_TOKEN", None)
154+
BOT_USERNAME = environ.get("BOT_USERNAME", None)
160155

161156
# Genius modülünün çalışması için buradan değeri alın https://genius.com/developers her ikisi de aynı değerlere sahiptir
162-
GENIUS_API_TOKEN = os.environ.get("GENIUS_API_TOKEN", None)
157+
GENIUS_API_TOKEN = environ.get("GENIUS_API_TOKEN", None)
163158

164159
# Ayarlanabilir PM izin verilmedi mesajı
165-
PM_UNAPPROVED = os.environ.get("PM_UNAPPROVED", None)
160+
PM_UNAPPROVED = environ.get("PM_UNAPPROVED", None)
166161

167162
CMD_HELP = {}
168163

@@ -171,12 +166,7 @@
171166
"""
172167

173168
# 'bot' değişkeni
174-
if STRING_SESSION:
175-
# pylint: devre dışı=geçersiz ad
176-
bot = TelegramClient(StringSession(STRING_SESSION), API_KEY, API_HASH)
177-
else:
178-
# pylint: devre dışı=geçersiz ad
179-
bot = TelegramClient("sedenbot", API_KEY, API_HASH)
169+
bot = TelegramClient(StringSession(STRING_SESSION if STRING_SESSION else "sedenbot"), API_KEY, API_HASH)
180170

181171
async def check_botlog_chatid():
182172
if not BOTLOG_CHATID and LOGSPAMMER:
@@ -247,9 +237,9 @@ def paginate_help(page_number, loaded_modules, prefix):
247237
modulo_page = page_number % max_num_pages
248238
if len(pairs) > number_of_rows:
249239
pairs = pairs[modulo_page * number_of_rows:number_of_rows * (modulo_page + 1)] + \
250-
[
251-
(custom.Button.inline("⬅️Geri", data="{}_prev({})".format(prefix, modulo_page)),
252-
custom.Button.inline("İleri➡️", data="{}_next({})".format(prefix, modulo_page)))
240+
[
241+
(custom.Button.inline("⬅️ Geri", data=f"{prefix}_prev({modulo_page})"),
242+
custom.Button.inline("İleri ➡️", data=f"{prefix}_next({modulo_page})"))
253243
]
254244
return pairs
255245

@@ -287,7 +277,7 @@ async def inline_handler(event):
287277
text="""@SedenUserBot'u kullanmayı deneyin!
288278
Hesabınızı bot'a çevirebilirsiniz ve bunları kullanabilirsiniz. Unutmayın, siz başkasının botunu yönetemezsiniz! Alttaki GitHub adresinden tüm kurulum detayları anlatılmıştır.""",
289279
buttons=[
290-
[custom.Button.url("Kanala Katıl", "https://t.me/SedenUserBot"), custom.Button.url(
280+
[custom.Button.url("Kanala Katıl", "https://t.me/SedenUserBot"), custom.custom.Button.url(
291281
"Gruba Katıl", "https://t.me/SedenUserBotSupport")],
292282
[custom.Button.url(
293283
"GitHub", "https://github.com/TeamDerUntergang/Telegram-UserBot")]
@@ -297,7 +287,7 @@ async def inline_handler(event):
297287
await event.answer([result] if result else None)
298288

299289
@tgbot.on(events.callbackquery.CallbackQuery( # pylint:disable=E0602
300-
data=re.compile(b"helpme_next\((.+?)\)")
290+
data=recomp(b"helpme_next\((.+?)\)")
301291
))
302292
async def on_plug_in_callback_query_handler(event):
303293
if event.query.user_id == uid: # pylint:disable=E0602
@@ -312,7 +302,7 @@ async def on_plug_in_callback_query_handler(event):
312302
await event.answer(reply_pop_up_alert, cache_time=0, alert=True)
313303

314304
@tgbot.on(events.callbackquery.CallbackQuery( # pylint:disable=E0602
315-
data=re.compile(b"helpme_prev\((.+?)\)")
305+
data=recomp(b"helpme_prev\((.+?)\)")
316306
))
317307
async def on_plug_in_callback_query_handler(event):
318308
if event.query.user_id == uid: # pylint:disable=E0602
@@ -330,7 +320,7 @@ async def on_plug_in_callback_query_handler(event):
330320
await event.answer(reply_pop_up_alert, cache_time=0, alert=True)
331321

332322
@tgbot.on(events.callbackquery.CallbackQuery( # pylint:disable=E0602
333-
data=re.compile(b"ub_modul_(.*)")
323+
data=recomp(b"ub_modul_(.*)")
334324
))
335325
async def on_plug_in_callback_query_handler(event):
336326
if event.query.user_id == uid: # pylint:disable=E0602

0 commit comments

Comments
 (0)