diff --git a/app.json b/app.json
index c96829c..be945a7 100644
--- a/app.json
+++ b/app.json
@@ -65,10 +65,6 @@
"value": "/usr/bin/chromium",
"required": false
},
- "OPEN_WEATHER_MAP_APPID": {
- "description": "https://api.openweathermap.org/data/2.5/weather adresinden kendi APPID'inizi (API key) edinin.",
- "required": false
- },
"BOTLOG": {
"description": "Günlüğe kaydetmeyi açmak istiyorsanız, bunu True olarak ayarlayın",
"value": "False"
@@ -85,10 +81,6 @@
"description": "Genius API Key, 'https://genius.com/developers' adresinden alın.",
"required": false
},
- "GENIUS": {
- "description": "Buraya aldığınız Genius API Token'i yazın.",
- "required": false
- },
"AUTO_PP": {
"description": "Autopp modülünün çalışması için gerekli olan değişkendir. Çalışması için kullanacağınız resmin direk adresini girmeniz gerekiyor.",
"required": false
@@ -158,7 +150,7 @@
"required": false
},
"DEFAULT_BIO": {
- "description": "Varsayılan profil biyografisi.",
+ "description": "Varsayılan profil biyografisi. (Lastfm modülü için)",
"value": "#TeamDerUntergang",
"required": false
},
diff --git a/sedenbot/__init__.py b/sedenbot/__init__.py
index f3b7e54..cb9e9fb 100644
--- a/sedenbot/__init__.py
+++ b/sedenbot/__init__.py
@@ -23,10 +23,10 @@
from distutils.util import strtobool as sb
from math import ceil
+from pylast import LastFMNetwork, md5
from dotenv import load_dotenv
from requests import get
from telethon.sync import TelegramClient, custom, events
-from telethon.tl.functions.channels import JoinChannelRequest
from telethon.sessions import StringSession
from telethon.utils import get_peer_id
load_dotenv("config.env")
@@ -110,8 +110,7 @@
CHROME_DRIVER = os.environ.get("CHROME_DRIVER", None)
GOOGLE_CHROME_BIN = os.environ.get("GOOGLE_CHROME_BIN", None)
-# OpenWeatherMap API Key
-OPEN_WEATHER_MAP_APPID = os.environ.get("OPEN_WEATHER_MAP_APPID", None)
+# Hava durumu varsayılan şehir
WEATHER_DEFCITY = os.environ.get("WEATHER_DEFCITY", None)
# Lydia API
@@ -131,7 +130,6 @@
# Temiz Karşılama
CLEAN_WELCOME = sb(os.environ.get("CLEAN_WELCOME", "True"))
-
# Last.fm modülü
BIO_PREFIX = os.environ.get("BIO_PREFIX", None)
DEFAULT_BIO = os.environ.get("DEFAULT_BIO", None)
@@ -140,6 +138,14 @@
LASTFM_SECRET = os.environ.get("LASTFM_SECRET", None)
LASTFM_USERNAME = os.environ.get("LASTFM_USERNAME", None)
LASTFM_PASSWORD_PLAIN = os.environ.get("LASTFM_PASSWORD", None)
+LASTFM_PASS = md5(LASTFM_PASSWORD_PLAIN)
+if LASTFM_API and LASTFM_SECRET and LASTFM_USERNAME and LASTFM_PASS:
+ lastfm = LastFMNetwork(api_key=LASTFM_API,
+ api_secret=LASTFM_SECRET,
+ username=LASTFM_USERNAME,
+ password_hash=LASTFM_PASS)
+else:
+ lastfm = None
# Google Drive Modülü
G_DRIVE_CLIENT_ID = os.environ.get("G_DRIVE_CLIENT_ID", None)
@@ -154,7 +160,7 @@
BOT_USERNAME = os.environ.get("BOT_USERNAME", None)
# 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
-GENIUS = os.environ.get("GENIUS", None) or os.environ.get("GENIUS_API_TOKEN", None)
+GENIUS_API_TOKEN = os.environ.get("GENIUS_API_TOKEN", None)
# Ayarlanabilir PM izin verilmedi mesajı
PM_UNAPPROVED = os.environ.get("PM_UNAPPROVED", None)
@@ -212,9 +218,6 @@ async def check_botlog_chatid():
quit(1)
try:
- bot(JoinChannelRequest("@SedenUserBot"))
- bot(JoinChannelRequest("@SedenUserBotSupport"))
-
if not BOT_TOKEN:
raise Exception()
diff --git a/sedenbot/moduller/admin.py b/sedenbot/moduller/admin.py
index 30384bd..9429f6b 100644
--- a/sedenbot/moduller/admin.py
+++ b/sedenbot/moduller/admin.py
@@ -121,6 +121,9 @@ async def set_group_photo(gpic):
@sedenify(incoming=True, from_users=BRAIN_CHECKER, pattern="^.promote")
async def promote(promt):
""" .promote komutu ile belirlenen kişiyi yönetici yapar """
+ if not promt.is_group:
+ await promt.edit("`Bunun bir grup olduğunu sanmıyorum.`")
+ return
# Hedef sohbeti almak
chat = await promt.get_chat()
# Yetkiyi sorgula
@@ -170,6 +173,9 @@ async def promote(promt):
@sedenify(outgoing=True, pattern="^.demote")
async def demote(dmod):
""" .demote komutu belirlenen kişiyi yöneticilikten çıkarır """
+ if not dmod.is_group:
+ await dmod.edit("`Bunun bir grup olduğunu sanmıyorum.`")
+ return
# Yetki kontrolü
chat = await dmod.get_chat()
admin = chat.admin_rights
@@ -218,6 +224,9 @@ async def demote(dmod):
@sedenify(outgoing=True, pattern="^.ban")
async def ban(bon):
""" .ban komutu belirlenen kişiyi gruptan yasaklar """
+ if not bon.is_group:
+ await bon.edit("`Bunun bir grup olduğunu sanmıyorum.`")
+ return
# Yetki kontrolü
chat = await bon.get_chat()
admin = chat.admin_rights
@@ -274,6 +283,9 @@ async def ban(bon):
@sedenify(outgoing=True, pattern="^.unban")
async def nothanos(unbon):
""" .unban komutu belirlenen kişinin yasağını kaldırır """
+ if not unbon.is_group:
+ await unbon.edit("`Bunun bir grup olduğunu sanmıyorum.`")
+ return
# Yetki kontrolü
chat = await unbon.get_chat()
admin = chat.admin_rights
@@ -311,6 +323,9 @@ async def spider(spdr):
"""
Bu fonksiyon temelde susturmaya yarar
"""
+ if not spdr.is_group:
+ await spdr.edit("`Bunun bir grup olduğunu sanmıyorum.`")
+ return
# Fonksiyonun SQL modu altında çalışıp çalışmadığını kontrol et
try:
from sedenbot.moduller.sql_helper.spam_mute_sql import mute
@@ -381,6 +396,9 @@ async def mutmsg(spdr, user, reason):
@sedenify(outgoing=True, pattern="^.unmute")
async def unmoot(unmot):
""" .unmute komutu belirlenin kişinin sesini açar (yani grupta tekrardan konuşabilir) """
+ if not unmot.is_group:
+ await unmot.edit("`Bunun bir grup olduğunu sanmıyorum.`")
+ return
# Yetki kontrolü
chat = await unmot.get_chat()
admin = chat.admin_rights
@@ -429,6 +447,9 @@ async def unmoot(unmot):
@sedenify(incoming=True)
async def muter(moot):
""" Sessize alınan kullanıcıların mesajlarını silmek için kullanılır """
+ if not moot.is_group:
+ await moot.edit("`Bunun bir grup olduğunu sanmıyorum.`")
+ return
try:
from sedenbot.moduller.sql_helper.spam_mute_sql import is_muted
from sedenbot.moduller.sql_helper.gmute_sql import is_gmuted
@@ -462,6 +483,9 @@ async def muter(moot):
@sedenify(outgoing=True, pattern="^.ungmute")
async def ungmoot(un_gmute):
""" .ungmute komutu belirlenen kişinin küresel susturulmasını kaldırır """
+ if not un_gmute.is_group:
+ await un_gmute.edit("`Bunun bir grup olduğunu sanmıyorum.`")
+ return
# Yetki kontrolü
chat = await un_gmute.get_chat()
admin = chat.admin_rights
@@ -503,6 +527,9 @@ async def ungmoot(un_gmute):
@sedenify(outgoing=True, pattern="^.gmute")
async def gspider(gspdr):
""" .gmute komutu belirlenen kişiyi küresel olarak susturur """
+ if not gspdr.is_group:
+ await gspdr.edit("`Bunun bir grup olduğunu sanmıyorum.`")
+ return
# Yetki kontrolü
chat = await gspdr.get_chat()
admin = chat.admin_rights
@@ -551,7 +578,9 @@ async def gspider(gspdr):
@sedenify(outgoing=True, pattern="^.zombies", groups_only=False)
async def rm_deletedacc(show):
""" .zombies komutu bir sohbette tüm hayalet / silinmiş / zombi hesaplarını listeler. """
-
+ if not show.is_group:
+ await show.edit("`Bunun bir grup olduğunu sanmıyorum.`")
+ return
con = extract_args(show).lower()
del_u = 0
del_status = "`Silinmiş hesap bulunamadı, grup temiz`"
@@ -614,28 +643,12 @@ async def rm_deletedacc(show):
f"**{del_u}** tane silinmiş hesap çıkartıldı !!\
\nGRUP: {show.chat.title}(`{show.chat_id}`)")
-@sedenify(outgoing=True, pattern="^.admins$")
-async def get_admin(show):
- """ .admins komutu girilen gruba ait yöneticileri listeler """
- info = await show.client.get_entity(show.chat_id)
- title = info.title if info.title else "this chat"
- mentions = f'{title} grubunun yöneticileri: \n'
- try:
- async for user in show.client.iter_participants(
- show.chat_id, filter=ChannelParticipantsAdmins):
- if not user.deleted:
- link = f"{user.first_name}"
- userid = f"{user.id}
"
- mentions += f"\n{link} {userid}"
- else:
- mentions += f"\nDeleted Account {user.id}
"
- except ChatAdminRequiredError as err:
- mentions += " " + str(err) + "\n"
- await show.edit(mentions, parse_mode="html")
-
@sedenify(outgoing=True, pattern="^.pin$")
async def pin(msg):
""" .pin komutu verildiği grupta ki yazıyı & medyayı sabitler """
+ if not msg.is_group:
+ await msg.edit("`Bunun bir grup olduğunu sanmıyorum.`")
+ return
# Yönetici kontrolü
chat = await msg.get_chat()
admin = chat.admin_rights
@@ -680,6 +693,9 @@ async def pin(msg):
@sedenify(outgoing=True, pattern="^.kick")
async def kick(usr):
""" .kick komutu belirlenen kişiyi gruptan çıkartır """
+ if not usr.is_group:
+ await usr.edit("`Bunun bir grup olduğunu sanmıyorum.`")
+ return
# Yetki kontrolü
chat = await usr.get_chat()
admin = chat.admin_rights
@@ -725,46 +741,59 @@ async def kick(usr):
f"KULLANICI: [{user.first_name}](tg://user?id={user.id})\n"
f"GRUP: {usr.chat.title}(`{usr.chat_id}`)\n")
-@sedenify(outgoing=True, pattern="^.users$")
+@sedenify(outgoing=True, pattern="^.(admins|bots|user(s|sdel))")
async def get_users(show):
""" .users komutu girilen gruba ait kişileri listeler """
+ if not show.is_group:
+ await show.edit("`Bunun bir grup olduğunu sanmıyorum.`")
+ return
+ cmd = show.text.split(' ', 1)
+ users = cmd[0][1:5] == 'user'
+ showdel = users and cmd[0][-3:] == 'del'
+ bots = not users and cmd[0][1:5] == 'bots'
+ admins = not bots and cmd[0][1:7] == 'admins'
info = await show.client.get_entity(show.chat_id)
- title = info.title if info.title else "this chat"
- mentions = '{} grubunda bulunan kişiler: \n'.format(title)
+ title = info.title if info.title else "Bu sohbet"
+
+ mentions = ''
+ filtr = None
+ if users:
+ mentions = f'{title} içinde bulunan{" silinmiş" if showdel else ""} kişiler: \n'
+ elif admins:
+ mentions = f'{title} içinde bulunan yöneticiler: \n'
+ filtr = ChannelParticipantsAdmins
+ elif bots:
+ mentions = f'{title} içinde bulunan botlar: \n'
+ filtr = ChannelParticipantsBots
+
try:
- searchq = extract_args(show)
- if len(searchq) < 1:
- async for user in show.client.iter_participants(show.chat_id):
- if not user.deleted:
- mentions += f"\n[{user.first_name}](tg://user?id={user.id}) `{user.id}`"
- else:
- mentions += f"\nSilinen hesap `{user.id}`"
- else:
- async for user in show.client.iter_participants(
- show.chat_id, search=f'{searchq}'):
- if not user.deleted:
- mentions += f"\n[{user.first_name}](tg://user?id={user.id}) `{user.id}`"
- else:
- mentions += f"\nSilinen hesap `{user.id}`"
+ searchq = cmd[1] if users and len(cmd) > 1 else ''
+ async for user in show.client.iter_participants(
+ show.chat_id,
+ search=f'{searchq if len(searchq) > 0 else ""}',
+ filter=filtr):
+ if not user.deleted and showdel:
+ continue
+ mentions += f"\n[{'Silinmiş hesap' if user.deleted else user.first_name}](tg://user?id={user.id}) `{user.id}`"
except Exception as err:
mentions += " " + str(err) + "\n"
try:
await show.edit(mentions)
except MessageTooLongError:
await show.edit(
- "Lanet olsun, bu büyük bir grup. Kullanıcı listesini dosya olarak gönderiyorum.")
+ "Lanet olsun, bu büyük bir grup. "
+ f"{'Silinmiş k' if showdel else 'K'}ullanıcı listesini dosya olarak gönderiyorum.")
file = open("userslist.txt", "w+")
file.write(mentions)
file.close()
await show.client.send_file(
show.chat_id,
"userslist.txt",
- caption='{} grubundaki kişiler'.format(title),
+ caption=f"{title} grubundaki{' silinmiş' if showdel else ''} kişiler",
reply_to=show.id,
)
remove("userslist.txt")
-
async def get_user_from_event(event):
""" Kullanıcıyı argümandan veya yanıtlanan mesajdan alın. """
msg = extract_args(event)
@@ -815,129 +844,6 @@ async def get_user_from_id(user, event):
return user_obj
-@sedenify(outgoing=True, pattern="^.usersdel$")
-async def get_usersdel(show):
- """ .usersdel komutu grup içinde ki silinen hesapları gösterir """
- info = await show.client.get_entity(show.chat_id)
- title = info.title if info.title else "this chat"
- mentions = '{} grubunda bulunan silinmiş hesaplar: \n'.format(title)
- try:
- searchq = extract_args(show)
- if len(searchq) < 1:
- async for user in show.client.iter_participants(show.chat_id):
- if user.deleted:
- mentions += f"\nDeleted Account `{user.id}`"
- else:
- async for user in show.client.iter_participants(
- show.chat_id, search=f'{searchq}'):
- if user.deleted:
- mentions += f"\nDeleted Account `{user.id}`"
- except ChatAdminRequiredError as err:
- mentions += " " + str(err) + "\n"
- try:
- await show.edit(mentions)
- except MessageTooLongError:
- await show.edit(
- "Lanet olsun, bu büyük bir grup. Silinen kullanıcılar listesini dosya olarak gönderiyorum.")
- file = open("userslist.txt", "w+")
- file.write(mentions)
- file.close()
- await show.client.send_file(
- show.chat_id,
- "deleteduserslist.txt",
- caption='{} grubuna ait olan silinmiş hesaplar:'.format(title),
- reply_to=show.id,
- )
- remove("deleteduserslist.txt")
-
-
-async def get_userdel_from_event(event):
- """ Silinen kullanıcıyı argümandan veya yanıtlanan mesajdan alın. """
- msg = extract_args(event)
- args = msg.split(' ', 1)
- extra = None
- if event.reply_to_msg_id and not len(args) == 2:
- previous_message = await event.get_reply_message()
- user_obj = await event.client.get_entity(previous_message.from_id)
- extra = msg
- elif args:
- user = args[0]
- if len(args) == 2:
- extra = args[1]
-
- if user.isnumeric():
- user = int(user)
-
- if not user:
- await event.edit("`Silinen kullanıcının kullanıcı adını, ID'sini veya yanıtını iletin!`")
- return
-
- if event.message.entities :
- probable_user_mention_entity = event.message.entities[0]
-
- if isinstance(probable_user_mention_entity,
- MessageEntityMentionName):
- user_id = probable_user_mention_entity.user_id
- user_obj = await event.client.get_entity(user_id)
- return user_obj
- try:
- user_obj = await event.client.get_entity(user)
- except Exception as err:
- await event.edit(str(err))
- return None
-
- return user_obj, extra
-
-
-async def get_userdel_from_id(user, event):
- if isinstance(user, str):
- user = int(user)
-
- try:
- user_obj = await event.client.get_entity(user)
- except Exception as err:
- await event.edit(str(err))
- return None
-
- return user_obj
-
-@sedenify(outgoing=True, pattern="^.bots$", groups_only=True)
-async def get_bots(show):
- """ .bots komutu gruba ait olan botları listeler """
- info = await show.client.get_entity(show.chat_id)
- title = info.title if info.title else "this chat"
- mentions = f' {title} grubunda bulunan botlar:\n'
- try:
- # if isinstance(message.to_id, PeerChat):
- # await show.edit("`Sadece süper grupların botlara sahip olabileceğini duydum.`")
- # return
- # else:
- async for user in show.client.iter_participants(
- show.chat_id, filter=ChannelParticipantsBots):
- if not user.deleted:
- link = f"{user.first_name}"
- userid = f"{user.id}
"
- mentions += f"\n{link} {userid}"
- else:
- mentions += f"\nSilinmiş bot {user.id}
"
- except ChatAdminRequiredError as err:
- mentions += " " + str(err) + "\n"
- try:
- await show.edit(mentions, parse_mode="html")
- except MessageTooLongError:
- await show.edit(
- "Lanet olsun, burada çok fazla bot var. Botların listesini dosya olarak gönderiyorum.")
- file = open("botlist.txt", "w+")
- file.write(mentions)
- file.close()
- await show.client.send_file(
- show.chat_id,
- "botlist.txt",
- caption='{} grubunda bulunan botlar:'.format(title),
- reply_to=show.id,
- )
- remove("botlist.txt")
-
CMD_HELP.update({
"admin":
".promote <özel isim (isteğe bağlı)>\
diff --git a/sedenbot/moduller/chatinfo.py b/sedenbot/moduller/chatinfo.py
index 9315825..3fd36a7 100644
--- a/sedenbot/moduller/chatinfo.py
+++ b/sedenbot/moduller/chatinfo.py
@@ -19,20 +19,25 @@
from math import sqrt
from emoji import emojize
from datetime import datetime
+from re import search
from telethon.utils import get_input_location
from telethon.tl.functions.channels import GetFullChannelRequest, GetParticipantsRequest
from telethon.tl.functions.messages import GetHistoryRequest, CheckChatInviteRequest, GetFullChatRequest
-from telethon.tl.types import MessageActionChannelMigrateFrom, ChannelParticipantsAdmins
-from telethon.errors import (ChannelInvalidError, ChannelPrivateError, ChannelPublicGroupNaError, InviteHashEmptyError, InviteHashExpiredError, InviteHashInvalidError)
+from telethon.tl.types import MessageActionChannelMigrateFrom, ChannelParticipantsAdmins, MessageEntityMentionName
+from telethon.errors import (ChannelInvalidError, ChannelPrivateError,
+ ChannelPublicGroupNaError, InviteHashEmptyError,
+ InviteHashExpiredError, InviteHashInvalidError)
from sedenbot import CMD_HELP
from sedenbot.events import extract_args, sedenify
-@sedenify(pattern=".chatinfo", outgoing=True)
+@sedenify(pattern="^.chatinfo", outgoing=True)
async def info(event):
await event.edit("`Grup analiz ediliyor...`")
chat = await get_chatinfo(event)
+ if not chat:
+ return
caption = await fetch_info(chat, event)
try:
await event.edit(caption, parse_mode="html")
@@ -44,15 +49,19 @@ async def info(event):
async def get_chatinfo(event):
chat = extract_args(event)
chat_info = None
- if chat.isdigit():
+ if len(chat) > 0 and search('^-?\d+$', chat):
chat = int(chat)
+ elif event.reply_to_msg_id:
+ replied_msg = await event.get_reply_message()
+ if replied_msg.fwd_from and replied_msg.fwd_from.channel_id :
+ chat = replied_msg.fwd_from.channel_id
+ elif event.message.entities:
+ entity = event.message.entities[0]
+ if isinstance(entity, MessageEntityMentionName):
+ chat = entity.user_id
else:
- if event.reply_to_msg_id:
- replied_msg = await event.get_reply_message()
- if replied_msg.fwd_from and replied_msg.fwd_from.channel_id :
- chat = replied_msg.fwd_from.channel_id
- else:
- chat = event.chat_id
+ chat = event.chat_id
+
try:
chat_info = await event.client(GetFullChatRequest(chat))
except:
@@ -68,7 +77,7 @@ async def get_chatinfo(event):
await event.edit("`Kanal veya süpergrup mevcut değil`")
return None
except (TypeError, ValueError) as err:
- await event.edit(str(err))
+ await event.edit("`Baktığım şey bir kanal/grup olmayabilir`")
return None
return chat_info
@@ -200,6 +209,6 @@ async def fetch_info(chat, event):
CMD_HELP.update({
"chatinfo":
- ".chatinfo [isteğe bağlı: ] \
+ ".chatinfo [isteğe bağlı: ] \
\nKullanım: Bir grup hakkında bilgi alır. Bazı bilgiler eksik izinler nedeniyle sınırlı olabilir."
})
diff --git a/sedenbot/moduller/deepfry.py b/sedenbot/moduller/deepfry.py
index b401d59..034ca1f 100644
--- a/sedenbot/moduller/deepfry.py
+++ b/sedenbot/moduller/deepfry.py
@@ -19,9 +19,7 @@
import io
-from random import randint, uniform
from PIL import Image, ImageEnhance, ImageOps
-from telethon import events
from telethon.tl.types import DocumentAttributeFilename
from sedenbot import bot, CMD_HELP
@@ -71,32 +69,27 @@ async def deepfryer(event):
async def deepfry(img: Image) -> Image:
- colours = (
- (randint(50, 200), randint(40, 170), randint(40, 190)),
- (randint(190, 255), randint(170, 240), randint(180, 250))
- )
-
img = img.copy().convert("RGB")
# Resim formatı ayarla
img = img.convert("RGB")
width, height = img.width, img.height
- img = img.resize((int(width ** uniform(0.8, 0.9)), int(height ** uniform(0.8, 0.9))), resample=Image.LANCZOS)
- img = img.resize((int(width ** uniform(0.85, 0.95)), int(height ** uniform(0.85, 0.95))), resample=Image.BILINEAR)
- img = img.resize((int(width ** uniform(0.89, 0.98)), int(height ** uniform(0.89, 0.98))), resample=Image.BICUBIC)
+ img = img.resize((int(width ** .75), int(height ** .75)), resample=Image.LANCZOS)
+ img = img.resize((int(width ** .88), int(height ** .88)), resample=Image.BILINEAR)
+ img = img.resize((int(width ** .9), int(height ** .9)), resample=Image.BICUBIC)
img = img.resize((width, height), resample=Image.BICUBIC)
- img = ImageOps.posterize(img, randint(3, 7))
+ img = ImageOps.posterize(img, 4)
# Renk yerleşimi oluştur
overlay = img.split()[0]
- overlay = ImageEnhance.Contrast(overlay).enhance(uniform(1.0, 2.0))
- overlay = ImageEnhance.Brightness(overlay).enhance(uniform(1.0, 2.0))
+ overlay = ImageEnhance.Contrast(overlay).enhance(2)
+ overlay = ImageEnhance.Brightness(overlay).enhance(1.5)
- overlay = ImageOps.colorize(overlay, colours[0], colours[1])
+ overlay = ImageOps.colorize(overlay, Color.RED, Color.YELLOW)
# Kırmızı ve sarıyı ana görüntüye yerleştir ve keskinleştir
- img = Image.blend(img, overlay, uniform(0.1, 0.4))
- img = ImageEnhance.Sharpness(img).enhance(randint(5, 300))
+ img = Image.blend(img, overlay, .75)
+ img = ImageEnhance.Sharpness(img).enhance(100)
return img
@@ -121,6 +114,10 @@ async def check_media(reply_message):
else:
return data
+class Color:
+ RED = (254, 0, 2)
+ YELLOW = (255, 255, 15)
+
CMD_HELP.update({
"deepfry":
".deepfry [numara 1-5]\
diff --git a/sedenbot/moduller/eglence.py b/sedenbot/moduller/eglence.py
deleted file mode 100644
index bb5018f..0000000
--- a/sedenbot/moduller/eglence.py
+++ /dev/null
@@ -1,397 +0,0 @@
-# Copyright (C) 2020 TeamDerUntergang.
-#
-# SedenUserBot is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# SedenUserBot is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see .
-#
-# @NaytSeyd tarafından portlanmıştır
-#
-
-import asyncio
-
-from telethon import events
-from collections import deque
-
-from sedenbot import CMD_HELP, bot
-from sedenbot.events import sedenify
-
-@sedenify(outgoing=True, pattern="^.hava$")
-async def _(event):
- if event.fwd_from:
- return
- deq = deque(list("☀️🌤⛅️🌥☁️🌦🌧🌩🌨❄️"))
- for _ in range(48):
- await asyncio.sleep(0.1)
- await event.edit("".join(deq))
- deq.rotate(1)
-
-@sedenify(outgoing=True, pattern="^.d[uü]nya$")
-async def _(event):
- if event.fwd_from:
- return
- deq = deque(list("🌏🌍🌎🌎🌍🌏🌍🌎"))
- for _ in range(48):
- await asyncio.sleep(0.1)
- await event.edit("".join(deq))
- deq.rotate(1)
-
-@sedenify(outgoing=True, pattern="^.d[uü][sş][uü]nme$")
-async def _(event):
- if event.fwd_from:
- return
- deq = deque(list("🤔🧐🤔🧐🤔🧐"))
- for _ in range(999):
- await asyncio.sleep(2)
- await event.edit("".join(deq))
- deq.rotate(1)
-
-@sedenify(outgoing=True, pattern="^.y[ıi]lan$")
-async def _(event):
- if event.fwd_from:
- return
- animation_interval = 0.3
- animation_ttl = range(0, 27)
- await event.edit("Tısssss")
- animation_chars = [
- "◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️",
- "◻️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️",
- "◻️◻️◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️",
- "◻️◻️◻️️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️",
- "◻️◻️◻️◻️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️",
- "◻️◻️◻️◻️◻️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️",
- "◻️◻️◻️◻️◻️\n◼️◼️◼️◼️◻️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️",
- "◻️◻️◻️◻️◻️\n◼️◼️◼️◼️◻️\n◼️◼️◼️◼️◻️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️",
- "◻️◻️◻️◻️◻️\n◼️◼️◼️◼️◻️\n◼️◼️◼️◼️◻️\n◼️◼️◼️◼️◻️\n◼️◼️◼️◼️◼️",
- "◻️◻️◻️◻️◻️\n◼️◼️◼️◼️◻️\n◼️◼️◼️◼️◻️\n◼️◼️◼️◼️◻️\n◼️◼️◼️◼️◻️",
- "◻️◻️◻️◻️◻️\n◼️◼️◼️◼️◻️\n◼️◼️◼️◼️◻️\n◼️◼️◼️◼️◻️\n◼️◼️◼️◻️◻️",
- "◻️◻️◻️◻️◻️\n◼️◼️◼️◼️◻️\n◼️◼️◼️◼️◻️\n◼️◼️◼️◼️◻️\n◼️◼️◻️◻️◻️",
- "◻️◻️◻️◻️◻️\n◼️◼️◼️◼️◻️\n◼️◼️◼️◼️◻️\n◼️◼️◼️◼️◻️\n◼️◻️◻️◻️◻️",
- "◻️◻️◻️◻️◻️\n◼️◼️◼️◼️◻️\n◼️◼️◼️◼️◻️\n◼️◼️◼️◼️◻️\n◻️◻️◻️◻️◻️",
- "◻️◻️◻️◻️◻️\n◼️◼️◼️◼️◻️\n◼️◼️◼️◼️◻️\n◻️◼️◼️◼️◻️\n◻️◻️◻️◻️◻️",
- "◻️◻️◻️◻️◻️\n◼️◼️◼️◼️◻️\n◻️◼️◼️◼️◻️\n◻️◼️◼️◼️◻️\n◻️◻️◻️◻️◻️",
- "◻️◻️◻️◻️◻️\n◻️◼️◼️◼️◻️\n◻️◼️◼️◼️◻️\n◻️◼️◼️◼️◻️\n◻️◻️◻️◻️◻️",
- "◻️◻️◻️◻️◻️\n◻️◻️◼️◼️◻️\n◻️◼️◼️◼️◻️\n◻️◼️◼️◼️◻️\n◻️◻️◻️◻️◻️",
- "◻️◻️◻️◻️◻️\n◻️◻️◻️◼️◻️\n◻️◼️◼️◼️◻️\n◻️◼️◼️◼️◻️\n◻️◻️◻️◻️◻️",
- "◻️◻️◻️◻️◻️\n◻️◻️◻️◻️◻️\n◻️◼️◼️◼️◻️\n◻️◼️◼️◼️◻️\n◻️◻️◻️◻️◻️",
- "◻️◻️◻️◻️◻️\n◻️◻️◻️◻️◻️\n◻️◼️◼️◻️◻️\n◻️◼️◼️◼️◻️\n◻️◻️◻️◻️◻️",
- "◻️◻️◻️◻️◻️\n◻️◻️◻️◻️◻️\n◻️◼️◼️◻️◻️\n◻️◼️◼️◻️◻️\n◻️◻️◻️◻️◻️",
- "◻️◻️◻️◻️◻️\n◻️◻️◻️◻️◻️\n◻️◼️◼️◻️◻️\n◻️◼️◻️◻️◻️\n◻️◻️◻️◻️◻️",
- "◻️◻️◻️◻️◻️\n◻️◻️◻️◻️◻️\n◻️◼️◼️◻️◻️\n◻️◻️◻️◻️◻️\n◻️◻️◻️◻️◻️",
- "◻️◻️◻️◻️◻️\n◻️◻️◻️◻️◻️\n◻️◻️◼️◻️◻️\n◻️◻️◻️◻️◻️\n◻️◻️◻️◻️◻️",
- "◻️◻️◻️◻️◻️\n◻️◻️◻️◻️◻️\n◻️◻️◻️◻️◻️\n◻️◻️◻️◻️◻️\n◻️◻️◻️◻️◻️",
- "◻️◻️◻️◻️◻️\n◻️◼️◻️◼️◻️\n◻️◻️◻️◻️◻️\n◻️◼️◼️◼️◻️\n◻️◻️◻️◻️◻️"
- ]
- for i in animation_ttl:
- await asyncio.sleep(animation_interval)
- await event.edit(animation_chars[i % 27])
-
-@sedenify(outgoing=True, pattern="^.(solar|g[uü]ne[sş])$")
-async def _(event):
- if event.fwd_from:
- return
- animation_interval = 0.1
- animation_ttl = range(0, 100)
- await event.edit("Ay ve Güneş")
- animation_chars = [
- "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️🌎◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️◼️◼️◼️`",
- "`◼️🌕◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️☀◼️`",
- "`◼️◼️◼️🌕◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️☀◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️🌎◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️◼️◼️◼️`",
- "`◼️☀◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️🌕◼️`",
- "`◼️◼️◼️☀◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️🌕◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️🌎◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️◼️◼️◼️`",
- "`◼️🌕◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️☀◼️`",
- "`◼️◼️◼️🌕◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️☀◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️🌎◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️◼️◼️◼️`",
- "`◼️☀◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️🌕◼️`",
- "`◼️◼️◼️☀◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️🌕◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️🌎◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️◼️◼️◼️`",
- "`◼️🌕◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️☀◼️`",
- "`◼️◼️◼️🌕◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️☀◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️🌎◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️◼️◼️◼️`",
- "`◼️☀◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️🌕◼️`",
- "`◼️◼️◼️☀◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️🌕◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️🌎◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️◼️◼️◼️`",
- "`◼️🌕◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️☀◼️`",
- "`◼️◼️◼️🌕◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️☀◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️🌎◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️◼️◼️◼️`",
- "`◼️☀◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️🌕◼️`",
- "`◼️◼️◼️☀◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️🌕◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️🌎◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️◼️◼️◼️`",
- "`◼️🌕◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️☀◼️`",
- "`◼️◼️◼️🌕◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️☀◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️🌎◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️◼️◼️◼️`",
- "`◼️☀◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️🌕◼️`",
- "`◼️◼️◼️☀◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️🌕◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️🌎◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️◼️◼️◼️`",
- "`◼️🌕◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️☀◼️`",
- "`◼️◼️◼️🌕◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️☀◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️🌎◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️◼️◼️◼️`",
- "`◼️☀◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️🌕◼️`",
- "`◼️◼️◼️☀◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️🌕◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️🌎◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️◼️◼️◼️`",
- "`◼️🌕◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️☀◼️`",
- "`◼️◼️◼️🌕◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️☀◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️🌎◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️◼️◼️◼️`",
- "`◼️☀◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️🌕◼️`",
- "`◼️◼️◼️☀◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️🌕◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️🌎◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️◼️◼️◼️`",
- "`◼️🌕◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️☀◼️`",
- "`◼️◼️◼️🌕◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️☀◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️🌎◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️◼️◼️◼️`",
- "`◼️☀◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️🌕◼️`",
- "`◼️◼️◼️☀◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️🌕◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️🌎◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️◼️◼️◼️`",
- "`◼️🌕◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️☀◼️`",
- "`◼️◼️◼️🌕◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️☀◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️🌎◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️◼️◼️◼️`",
- "`◼️☀◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️🌕◼️`",
- "`◼️◼️◼️☀◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️🌕◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️🌎◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️◼️◼️◼️`",
- "`◼️🌕◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️☀◼️`",
- "`◼️◼️◼️🌕◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️☀◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️🌎◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️◼️◼️◼️`",
- "`◼️☀◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️🌕◼️`",
- "`◼️◼️◼️☀◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️🌕◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️🌎◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️◼️◼️◼️`",
- "`◼️🌕◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️☀◼️`",
- "`◼️◼️◼️🌕◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️☀◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️🌎◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️◼️◼️◼️`",
- "`◼️☀◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️🌕◼️`",
- "`◼️◼️◼️☀◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️🌕◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️🌎◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️◼️◼️◼️`",
- "`◼️🌕◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️☀◼️`",
- "`◼️◼️◼️🌕◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️☀◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️🌎◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️◼️◼️◼️`",
- "`◼️☀◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️🌕◼️`",
- "`◼️◼️◼️☀◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️🌕◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️🌎◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️◼️◼️◼️`",
- "`◼️🌕◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️☀◼️`",
- "`◼️◼️◼️🌕◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️☀◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️🌎◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️◼️◼️◼️`",
- "`◼️☀◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️🌕◼️`",
- "`◼️◼️◼️☀◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️🌕◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️🌎◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️◼️◼️◼️`",
- "`◼️🌕◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️☀◼️`",
- "`◼️◼️◼️🌕◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️☀◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️🌎◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️◼️◼️◼️`",
- "`◼️☀◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️🌕◼️`",
- "`◼️◼️◼️☀◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️🌕◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️🌎◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️◼️◼️◼️`",
- "`◼️🌕◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️☀◼️`",
- "`◼️◼️◼️🌕◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️☀◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️🌎◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️◼️◼️◼️`",
- "`◼️☀◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️🌕◼️`",
- "`◼️◼️◼️☀◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️🌕◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️🌎◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️◼️◼️◼️`",
- "`◼️🌕◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️☀◼️`",
- "`◼️◼️◼️🌕◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️☀◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️🌎◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️◼️◼️◼️`",
- "`◼️☀◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️🌕◼️`",
- "`◼️◼️◼️☀◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️🌕◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️🌎◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️◼️◼️◼️`",
- "`◼️🌕◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️☀◼️`",
- "`◼️◼️◼️🌕◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️☀◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️🌎◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️◼️◼️◼️`",
- "`◼️☀◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️🌕◼️`",
- "`◼️◼️◼️☀◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️🌕◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️🌎◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️◼️◼️◼️`",
- "`◼️🌕◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️☀◼️`",
- "`◼️◼️◼️🌕◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️☀◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️🌎◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
- "`◼️◼️◼️◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️◼️◼️◼️`",
- "`◼️☀◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️🌕◼️`",
- "`◼️◼️◼️☀◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️🌕◼️◼️◼️`",
- ]
- for i in animation_ttl:
- await asyncio.sleep(animation_interval)
- await event.edit(animation_chars[i % 100])
-
-@sedenify(outgoing=True, pattern="^.şehir")
-async def sehir(event):
- if event.fwd_from:
- return
- await event.edit("""☁☁🌞 ☁ ☁
- ☁ ✈ ☁ 🚁 ☁ ☁ ☁ ☁ ☁ ☁
-
-🏬🏨🏫🏢🏤🏥🏦🏪🏫
- 🌲/ l🚍\🌳👭
- 🌳/ 🚘 l 🏃 \🌴 👬 👬 🌴/ l 🚔 \🌲
- 🌲/ 🚖 l \
- 🌳/🚶 | 🚍 \ 🌴🚴🚴
-🌴/ | \🌲""")
-
-@sedenify(outgoing=True, pattern="^.(lmoon|ay)")
-async def lmoon(event):
- if event.fwd_from:
- return
- await event.edit("🌕🌕🌕🌕🌕🌕🌕🌕\n🌕🌕🌖🌔🌖🌔🌕🌕\n🌕🌕🌗🌔🌖🌓🌕🌕\n🌕🌕🌗🌔🌖🌓🌕🌕\n🌕🌕🌖🌓🌗🌔🌕🌕\n🌕🌕🌗🌑🌑🌓🌕🌕\n🌕🌕🌗👀🌑🌓🌕🌕\n🌕🌕🌘👄🌑🌓🌕🌕\n🌕🌕🌗🌑🌑🌒🌕🌕\n🌕🌖🌑🌑🌑🌑🌔🌕\n🌕🌘🌑🌑🌑🌑🌒🌕\n🌖🌑🌑🌑🌑🌑🌑🌔\n🌕🤜🏻🌑🌑🌑🌑🤛🏻🌕\n🌕🌖🌑🌑🌑🌑🌔🌕\n🌘🌑🌑🌑🌑🌑🌑🌒\n🌕🌕🌕🌕🌕🌕🌕🌕")
-
-@sedenify(outgoing=True, pattern="^.k[uü][cç][uü]lme")
-async def _(event):
- if event.fwd_from:
- return
- animation_interval = 1
- animation_ttl = range(0, 30)
- await event.edit("Küçülüyor...")
- animation_chars = [
- "🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎",
- "◼️🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎",
- "◼️◼️🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎",
- "◼️◼️◼️️🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎",
- "◼️◼️◼️◼️🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎",
- "◼️◼️◼️◼️◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎",
- "◼️◼️◼️◼️◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎",
- "◼️◼️◼️◼️◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎",
- "◼️◼️◼️◼️◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎",
- "◼️◼️◼️◼️◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️",
- "◼️◼️◼️◼️◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️◼️",
- "◼️◼️◼️◼️◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️◼️◼️",
- "◼️◼️◼️◼️◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n🔴🔵🌕♓♎⛎◼️◼️◼️◼️",
- "◼️◼️◼️◼️◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n◼️◼️◼️◼️◼️",
- "◼️◼️◼️◼️◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n◼️🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n◼️◼️◼️◼️◼️",
- "◼️◼️◼️◼️◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n◼️🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n◼️🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n◼️◼️◼️◼️◼️",
- "◼️◼️◼️◼️◼️\n◼️🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n◼️🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n◼️🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n◼️◼️◼️◼️◼️",
- "◼️◼️◼️◼️◼️\n◼️◼️🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n◼️🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n◼️🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n◼️◼️◼️◼️◼️",
- "◼️◼️◼️◼️◼️\n◼️◼️◼️🔴🔵🌕♓♎⛎◼️\n◼️🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n◼️🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n◼️◼️◼️◼️◼️",
- "◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n◼️🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n◼️◼️◼️◼️◼️",
- "◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️◼️\n◼️🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n◼️◼️◼️◼️◼️",
- "◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️◼️\n◼️🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️◼️\n◼️◼️◼️◼️◼️",
- "◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️◼️\n◼️🔴🔵🌕♓♎⛎◼️◼️◼️\n◼️◼️◼️◼️◼️",
- "◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️",
- "◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🔴🔵🌕♓♎⛎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️",
- "◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️",
- "◼️◼️◼️◼️\n◼️◼️◼️◼️\n◼️◼️◼️◼️\n◼️◼️◼️◼️",
- "◼️◼️◼️\n◼️◼️◼️\n◼️◼️◼️",
- "◼️◼️\n◼️◼️",
- "◼️"
- ]
- for i in animation_ttl:
- await asyncio.sleep(animation_interval)
- await event.edit(animation_chars[i % 30])
-
-@sedenify(outgoing=True, pattern="^.nasa")
-async def _(event):
- if event.fwd_from:
- return
- animation_interval = 1
- animation_ttl = range(0, 24)
- await event.edit("Bağlanıyor..")
- animation_chars = [
- "⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛",
- "⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n🚀⬛⬛⬛⬛⬛",
- "⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛🚀⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛",
- "⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛🚀⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛",
- "⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛🚀⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛",
- "⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛🚀⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛",
- "⬛⬛⬛⬛⬛🚀\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛",
- "🛸⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛",
- "⬛⬛⬛⬛⬛⬛\n🛸⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛",
- "⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛🛸⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛",
- "⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛🛸⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛",
- "⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛🛸⬛⬛⬛\n⬛⬛⬛⬛⬛⬛",
- "⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛🛸⬛⬛",
- "⬛⬛⬛🛸⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛",
- "⬛⬛⬛⬛⬛⬛\n⬛⬛⬛🛸⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛",
- "⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛🛸⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬜⬜⬜⬜⬜⬜",
- "⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛🛸⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬜⬜⬜⬜⬜⬜",
- "⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛🛸⬛⬛\n⬜⬜⬜⬜⬜⬜",
- "⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛🛸⬛🚶♂️\n⬜⬜⬜⬜⬜⬜",
- "⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛🛸🚶♂️⬛\n⬜⬜⬜⬜⬜⬜",
- "⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n👽⬛⬛🛸🚶♂️⬛\n⬜⬜⬜⬜⬜⬜",
- "⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛👽⬛🛸🚶♂️⬛\n⬜⬜⬜⬜⬜⬜",
- "⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛👽🛸🚶♂️⬛\n⬜⬜⬜⬜⬜⬜",
- "__Sinyal Kaybedildi....__"
- ]
- for i in animation_ttl:
- await asyncio.sleep(animation_interval)
- await event.edit(animation_chars[i % 24])
-
-CMD_HELP.update({
- 'hava': ".hava\
-\nKullanım: Hava durumu animasyonu"
-})
-
-CMD_HELP.update({
- 'dusunme': ".dusunme\
-\nKullanım: Düşünme animasyonu."
-})
-
-CMD_HELP.update({
- 'yılan': ".yılan\
-\nKullanım: Yılana benzer bir animasyon."
-})
-
-CMD_HELP.update({
- 'solar': ".solar\
-\nKullanım: Ay ve güneşin dünya etrafında döndüğü bir animasyon."
-})
-
-CMD_HELP.update({
- 'dunya': ".dunya\
-\nKullanım: Dünya animasyonu."
-})
-
-CMD_HELP.update({
- 'kuculme': ".kuculme\
-\nKullanım: Küçülen bir animasyon."
-})
-
-CMD_HELP.update({
- 'lmoon': ".lmoon\
-\nKullanım: Moon komutunun farklı bir hali."
-})
-
-CMD_HELP.update({
- 'şehir': ".şehir\
-\nKullanım: Güzel manzaralı bir şehir."
-})
-
-CMD_HELP.update({
- 'nasa': ".nasa\
-\nKullanım: 👽 👽 👽"
-})
diff --git a/sedenbot/moduller/lastfm.py b/sedenbot/moduller/lastfm.py
index d4efb5f..19f7cbd 100644
--- a/sedenbot/moduller/lastfm.py
+++ b/sedenbot/moduller/lastfm.py
@@ -14,7 +14,7 @@
# along with this program. If not, see .
#
-from asyncio import sleep, run
+from asyncio import sleep
from pylast import User, WSError, LastFMNetwork, md5
from re import sub
from urllib import parse
@@ -27,9 +27,7 @@
from telethon.tl.types import User as Userbot
from telethon.errors.rpcerrorlist import FloodWaitError
-from sedenbot import (CMD_HELP, BOTLOG, BOTLOG_CHATID, DEFAULT_BIO, bot,
- BIO_PREFIX, LASTFM_API, LASTFM_SECRET,
- LASTFM_USERNAME, LASTFM_PASSWORD_PLAIN)
+from sedenbot import CMD_HELP, BOTLOG, BOTLOG_CHATID, DEFAULT_BIO, BIO_PREFIX, lastfm, LASTFM_USERNAME, bot
from sedenbot.events import extract_args, sedenify
# =================== CONSTANT ===================
@@ -54,21 +52,8 @@
LASTFMCHECK = False
RUNNING = False
LastLog = False
-LASTFM_PASS = md5(LASTFM_PASSWORD_PLAIN)
-lastfm = None
-async def load_lastfm():
- try:
- if LASTFM_API and LASTFM_SECRET and LASTFM_USERNAME and LASTFM_PASS:
- lastfm = LastFMNetwork(api_key=LASTFM_API,
- api_secret=LASTFM_SECRET,
- username=LASTFM_USERNAME,
- password_hash=LASTFM_PASS)
- except:
- lastfm = None
-
-run(load_lastfm())
-
# ================================================
+
@sedenify(outgoing=True, pattern="^.lastfm")
async def last_fm(lastFM):
""" .lastfm komutu last.fm'den verileri çeker. """
@@ -97,7 +82,6 @@ async def last_fm(lastFM):
playing = User(LASTFM_USERNAME, lastfm).get_now_playing()
output = f"[{LASTFM_USERNAME}]({username}) __en son şunu dinledi:__\n\n"
for i, track in enumerate(recent):
- print(i)
printable = await artist_and_song(track)
tags = await gettags(track)
rectrack = parse.quote_plus(str(printable))
diff --git a/sedenbot/moduller/lovers.py b/sedenbot/moduller/lovers.py
index d2ed85f..199ab49 100644
--- a/sedenbot/moduller/lovers.py
+++ b/sedenbot/moduller/lovers.py
@@ -16,10 +16,122 @@
# NaytSeyd ve Saniş için ❤️
#
+from random import choice
from asyncio import sleep
from sedenbot.events import sedenify
-@sedenify(outgoing=True, pattern="^.saniş")
+# ================= CONSTANT =================
+SANIYE_STRINGS = [
+ "blyrm🥺",
+ "hallo",
+ "nbr ex svglm",
+ "evt🥺",
+ "tamam askm",
+ "hosgeldin askm",
+ "handicap",
+ "jeg elsker dig",
+ "ja",
+ "ben uyuyorum, ig bebeler",
+ "tmm cool",
+ "cool bruh",
+ "bn varim🥺",
+ "kstm",
+ "@NightShade slk amd",
+ "sefsz amd",
+ "amd skm",
+ "ezk amd",
+ "eeee😒",
+ "bu ne lan Vsjjsbsjs",
+ "uuuuu",
+ "gelin kuzucuklrm",
+ "amedi skm",
+ "ex svglilrm",
+ "svglm olmak istyenlr dm gelsn",
+ "ikinizden ayriliyrm",
+ "ayb krcm🥺",
+ "ve ii gclr bkr ❤️",
+ "sn kmsn",
+ "ekle bnie",
+ "pika pikaaaaaaa",
+ "gule gule kullan",
+ "cnku tg skm",
+ "banane smk",
+ "bkr skm",
+ "slk bkre dedim",
+ "slm gzlm",
+ "iimsn",
+ "kayiplarda",
+ "snie gørdm dha ii oldm",
+ "hello askm",
+ "slk baris",
+ "karima sg deme",
+ "sen haketmistin..",
+ "kiyamam ki",
+ "bana sg demen... 🥺",
+ "hyr yalan",
+ "sen uzuyon",
+ "beni cok uzuyorsun",
+ "ecm skm",
+ "tmm küs, gece dc glmcm ozmn",
+ "iyi gecelr 🌸",
+ "yengenim",
+ "eed askm",
+ "yemek yiyip gelcm bebislerm",
+ "sapikmisin",
+ "bana tapacaksin burda",
+ "nzbdbshajahahhq yazik",
+ "komik olan ne",
+ "belki gørdum nrdn biliyn",
+ "pjmani skm",
+ "gle beraber uyuyalm",
+ "ama uykm var🥺",
+ "tm cok coolsn",
+ "bi susarmisiniz",
+ "oglum sikrirtme kendini",
+ "ingilizceni skm",
+ "buna gulecekmiydim",
+ "søv ona",
+ "@NightShade bana yavsiyo bu🥺",
+ "saniyeman ol",
+ "eed puskuvut",
+ "kutlay benim askim, ona yuruyemezsin😠",
+ "@NightShade amd😠",
+ "bnie hep uzuyo🥺",
+ "shhshshsha",
+ "bn derim senin yerine",
+ "kanka deme lazim olr",
+ "seni gece ariyacam, kacta musaitsin",
+ "ppn cko hos. svglm olrmsn",
+ "amd aglsn",
+ "hiiiiio, happy bday ona ozaman",
+ "bildigim kadariyla u were tek kid",
+ "jesus christ",
+ "o neydi lan zbnsshjaka",
+ "tamam ozaman afettim🥺",
+ "alisdim artik beni uzmene...",
+ "resimlerini siliyom...",
+ "seni cko øzledim❤️",
+ "@NightShade 💞",
+ "bana dc girin diyorsunuz, beni takmiyorsunuz srfszlr",
+ "kalbime gir",
+ "hadi see u",
+ "bu gece de ben konusamam 🥺",
+ "bn cikiom tgden birazdan, instageamdan yazarsn",
+ "sn iyi degilken bende iyi olamam 🥺",
+ "nazar degdi :(",
+ "snie øzldm",
+ "bende sana atmistim, sende stickers yaptin :(",
+ "yeterince cool degilsn",
+ "wowoowowowow",
+ "uwuwuwuwuwu",
+ "elni at",
+]
+
+@sedenify(outgoing=True, pattern="^.saniye$")
+async def saniye(sanisim):
+ await sanisim.edit(choice(SANIYE_STRINGS))
+
+@sedenify(outgoing=True, pattern="^.saniş$")
async def _(event):
if event.fwd_from:
return
@@ -176,7 +288,7 @@ async def _(event):
await sleep(animation_interval)
await event.edit(animation_chars[i % len(animation_chars)])
-@sedenify(outgoing=True, pattern="^.snş")
+@sedenify(outgoing=True, pattern="^.snş$")
async def _(event):
if event.fwd_from:
return
@@ -196,7 +308,7 @@ async def _(event):
await sleep(animation_interval)
await event.edit(animation_chars[i % len(animation_chars)])
-@sedenify(outgoing=True, pattern="^.naytsaniş")
+@sedenify(outgoing=True, pattern="^.naytsaniş$")
async def _(event):
if event.fwd_from:
return
diff --git a/sedenbot/moduller/lyrics.py b/sedenbot/moduller/lyrics.py
index 5241c7d..8910dfc 100644
--- a/sedenbot/moduller/lyrics.py
+++ b/sedenbot/moduller/lyrics.py
@@ -18,7 +18,7 @@
import random
import lyricsgenius
-from sedenbot import CMD_HELP, LOGS, GENIUS
+from sedenbot import CMD_HELP, LOGS, GENIUS_API_TOKEN
from sedenbot.events import extract_args, sedenify
@sedenify(outgoing=True, pattern="^.lyrics")
@@ -31,11 +31,11 @@ async def lyrics(lyric):
"Örnek: `Stabil - Reenkarne`")
return
- if not GENIUS:
+ if not GENIUS_API_TOKEN:
await lyric.edit(
"`Lütfen Genius tokeni ayarlayınız. Teşekkürler!`")
else:
- genius = lyricsgenius.Genius(GENIUS)
+ genius = lyricsgenius.Genius(GENIUS_API_TOKEN)
try:
args = args.split('-')
artist = args[0].strip()
diff --git a/sedenbot/moduller/memes.py b/sedenbot/moduller/memes.py
index 753b897..5fe83d6 100644
--- a/sedenbot/moduller/memes.py
+++ b/sedenbot/moduller/memes.py
@@ -913,7 +913,7 @@ async def scam(event):
scam_action = str(args[0]).lower()
scam_time = int(args[1])
else:
- await event.edit("`Invalid Syntax !!`")
+ await event.edit("`Komut kullanımı hatalı.`")
return
try:
if (scam_time > 0):
@@ -948,6 +948,335 @@ async def typewriter(typew):
await typew.edit(old_text)
await asyncio.sleep(sleep_time)
+@sedenify(outgoing=True, pattern="^.hava$")
+async def _(event):
+ if event.fwd_from:
+ return
+ deq = deque(list("☀️🌤⛅️🌥☁️🌦🌧🌩🌨❄️"))
+ for _ in range(48):
+ await asyncio.sleep(0.1)
+ await event.edit("".join(deq))
+ deq.rotate(1)
+
+@sedenify(outgoing=True, pattern="^.d[uü]nya$")
+async def _(event):
+ if event.fwd_from:
+ return
+ deq = deque(list("🌏🌍🌎🌎🌍🌏🌍🌎"))
+ for _ in range(48):
+ await asyncio.sleep(0.1)
+ await event.edit("".join(deq))
+ deq.rotate(1)
+
+@sedenify(outgoing=True, pattern="^.d[uü][sş][uü]nme$")
+async def _(event):
+ if event.fwd_from:
+ return
+ deq = deque(list("🤔🧐🤔🧐🤔🧐"))
+ for _ in range(50):
+ await asyncio.sleep(2)
+ await event.edit("".join(deq))
+ deq.rotate(1)
+
+@sedenify(outgoing=True, pattern="^.y[ıi]lan$")
+async def _(event):
+ if event.fwd_from:
+ return
+ animation_interval = 0.3
+ animation_ttl = range(0, 27)
+ await event.edit("Tısssss")
+ animation_chars = [
+ "◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️",
+ "◻️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️",
+ "◻️◻️◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️",
+ "◻️◻️◻️️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️",
+ "◻️◻️◻️◻️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️",
+ "◻️◻️◻️◻️◻️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️",
+ "◻️◻️◻️◻️◻️\n◼️◼️◼️◼️◻️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️",
+ "◻️◻️◻️◻️◻️\n◼️◼️◼️◼️◻️\n◼️◼️◼️◼️◻️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️",
+ "◻️◻️◻️◻️◻️\n◼️◼️◼️◼️◻️\n◼️◼️◼️◼️◻️\n◼️◼️◼️◼️◻️\n◼️◼️◼️◼️◼️",
+ "◻️◻️◻️◻️◻️\n◼️◼️◼️◼️◻️\n◼️◼️◼️◼️◻️\n◼️◼️◼️◼️◻️\n◼️◼️◼️◼️◻️",
+ "◻️◻️◻️◻️◻️\n◼️◼️◼️◼️◻️\n◼️◼️◼️◼️◻️\n◼️◼️◼️◼️◻️\n◼️◼️◼️◻️◻️",
+ "◻️◻️◻️◻️◻️\n◼️◼️◼️◼️◻️\n◼️◼️◼️◼️◻️\n◼️◼️◼️◼️◻️\n◼️◼️◻️◻️◻️",
+ "◻️◻️◻️◻️◻️\n◼️◼️◼️◼️◻️\n◼️◼️◼️◼️◻️\n◼️◼️◼️◼️◻️\n◼️◻️◻️◻️◻️",
+ "◻️◻️◻️◻️◻️\n◼️◼️◼️◼️◻️\n◼️◼️◼️◼️◻️\n◼️◼️◼️◼️◻️\n◻️◻️◻️◻️◻️",
+ "◻️◻️◻️◻️◻️\n◼️◼️◼️◼️◻️\n◼️◼️◼️◼️◻️\n◻️◼️◼️◼️◻️\n◻️◻️◻️◻️◻️",
+ "◻️◻️◻️◻️◻️\n◼️◼️◼️◼️◻️\n◻️◼️◼️◼️◻️\n◻️◼️◼️◼️◻️\n◻️◻️◻️◻️◻️",
+ "◻️◻️◻️◻️◻️\n◻️◼️◼️◼️◻️\n◻️◼️◼️◼️◻️\n◻️◼️◼️◼️◻️\n◻️◻️◻️◻️◻️",
+ "◻️◻️◻️◻️◻️\n◻️◻️◼️◼️◻️\n◻️◼️◼️◼️◻️\n◻️◼️◼️◼️◻️\n◻️◻️◻️◻️◻️",
+ "◻️◻️◻️◻️◻️\n◻️◻️◻️◼️◻️\n◻️◼️◼️◼️◻️\n◻️◼️◼️◼️◻️\n◻️◻️◻️◻️◻️",
+ "◻️◻️◻️◻️◻️\n◻️◻️◻️◻️◻️\n◻️◼️◼️◼️◻️\n◻️◼️◼️◼️◻️\n◻️◻️◻️◻️◻️",
+ "◻️◻️◻️◻️◻️\n◻️◻️◻️◻️◻️\n◻️◼️◼️◻️◻️\n◻️◼️◼️◼️◻️\n◻️◻️◻️◻️◻️",
+ "◻️◻️◻️◻️◻️\n◻️◻️◻️◻️◻️\n◻️◼️◼️◻️◻️\n◻️◼️◼️◻️◻️\n◻️◻️◻️◻️◻️",
+ "◻️◻️◻️◻️◻️\n◻️◻️◻️◻️◻️\n◻️◼️◼️◻️◻️\n◻️◼️◻️◻️◻️\n◻️◻️◻️◻️◻️",
+ "◻️◻️◻️◻️◻️\n◻️◻️◻️◻️◻️\n◻️◼️◼️◻️◻️\n◻️◻️◻️◻️◻️\n◻️◻️◻️◻️◻️",
+ "◻️◻️◻️◻️◻️\n◻️◻️◻️◻️◻️\n◻️◻️◼️◻️◻️\n◻️◻️◻️◻️◻️\n◻️◻️◻️◻️◻️",
+ "◻️◻️◻️◻️◻️\n◻️◻️◻️◻️◻️\n◻️◻️◻️◻️◻️\n◻️◻️◻️◻️◻️\n◻️◻️◻️◻️◻️",
+ "◻️◻️◻️◻️◻️\n◻️◼️◻️◼️◻️\n◻️◻️◻️◻️◻️\n◻️◼️◼️◼️◻️\n◻️◻️◻️◻️◻️"
+ ]
+ for i in animation_ttl:
+ await asyncio.sleep(animation_interval)
+ await event.edit(animation_chars[i % 27])
+
+@sedenify(outgoing=True, pattern="^.(solar|g[uü]ne[sş])$")
+async def _(event):
+ if event.fwd_from:
+ return
+ animation_interval = 0.1
+ animation_ttl = range(0, 100)
+ await event.edit("Ay ve Güneş")
+ animation_chars = [
+ "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️🌎◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️◼️◼️◼️`",
+ "`◼️🌕◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️☀◼️`",
+ "`◼️◼️◼️🌕◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️☀◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️🌎◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️◼️◼️◼️`",
+ "`◼️☀◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️🌕◼️`",
+ "`◼️◼️◼️☀◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️🌕◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️🌎◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️◼️◼️◼️`",
+ "`◼️🌕◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️☀◼️`",
+ "`◼️◼️◼️🌕◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️☀◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️🌎◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️◼️◼️◼️`",
+ "`◼️☀◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️🌕◼️`",
+ "`◼️◼️◼️☀◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️🌕◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️🌎◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️◼️◼️◼️`",
+ "`◼️🌕◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️☀◼️`",
+ "`◼️◼️◼️🌕◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️☀◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️🌎◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️◼️◼️◼️`",
+ "`◼️☀◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️🌕◼️`",
+ "`◼️◼️◼️☀◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️🌕◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️🌎◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️◼️◼️◼️`",
+ "`◼️🌕◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️☀◼️`",
+ "`◼️◼️◼️🌕◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️☀◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️🌎◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️◼️◼️◼️`",
+ "`◼️☀◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️🌕◼️`",
+ "`◼️◼️◼️☀◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️🌕◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️🌎◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️◼️◼️◼️`",
+ "`◼️🌕◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️☀◼️`",
+ "`◼️◼️◼️🌕◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️☀◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️🌎◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️◼️◼️◼️`",
+ "`◼️☀◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️🌕◼️`",
+ "`◼️◼️◼️☀◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️🌕◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️🌎◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️◼️◼️◼️`",
+ "`◼️🌕◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️☀◼️`",
+ "`◼️◼️◼️🌕◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️☀◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️🌎◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️◼️◼️◼️`",
+ "`◼️☀◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️🌕◼️`",
+ "`◼️◼️◼️☀◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️🌕◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️🌎◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️◼️◼️◼️`",
+ "`◼️🌕◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️☀◼️`",
+ "`◼️◼️◼️🌕◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️☀◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️🌎◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️◼️◼️◼️`",
+ "`◼️☀◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️🌕◼️`",
+ "`◼️◼️◼️☀◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️🌕◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️🌎◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️◼️◼️◼️`",
+ "`◼️🌕◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️☀◼️`",
+ "`◼️◼️◼️🌕◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️☀◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️🌎◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️◼️◼️◼️`",
+ "`◼️☀◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️🌕◼️`",
+ "`◼️◼️◼️☀◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️🌕◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️🌎◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️◼️◼️◼️`",
+ "`◼️🌕◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️☀◼️`",
+ "`◼️◼️◼️🌕◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️☀◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️🌎◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️◼️◼️◼️`",
+ "`◼️☀◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️🌕◼️`",
+ "`◼️◼️◼️☀◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️🌕◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️🌎◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️◼️◼️◼️`",
+ "`◼️🌕◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️☀◼️`",
+ "`◼️◼️◼️🌕◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️☀◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️🌎◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️◼️◼️◼️`",
+ "`◼️☀◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️🌕◼️`",
+ "`◼️◼️◼️☀◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️🌕◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️🌎◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️◼️◼️◼️`",
+ "`◼️🌕◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️☀◼️`",
+ "`◼️◼️◼️🌕◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️☀◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️🌎◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️◼️◼️◼️`",
+ "`◼️☀◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️🌕◼️`",
+ "`◼️◼️◼️☀◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️🌕◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️🌎◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️◼️◼️◼️`",
+ "`◼️🌕◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️☀◼️`",
+ "`◼️◼️◼️🌕◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️☀◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️🌎◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️◼️◼️◼️`",
+ "`◼️☀◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️🌕◼️`",
+ "`◼️◼️◼️☀◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️🌕◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️🌎◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️◼️◼️◼️`",
+ "`◼️🌕◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️☀◼️`",
+ "`◼️◼️◼️🌕◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️☀◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️🌎◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️◼️◼️◼️`",
+ "`◼️☀◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️🌕◼️`",
+ "`◼️◼️◼️☀◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️🌕◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️🌎◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️◼️◼️◼️`",
+ "`◼️🌕◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️☀◼️`",
+ "`◼️◼️◼️🌕◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️☀◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️🌎◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️◼️◼️◼️`",
+ "`◼️☀◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️🌕◼️`",
+ "`◼️◼️◼️☀◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️🌕◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️🌎◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️◼️◼️◼️`",
+ "`◼️🌕◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️☀◼️`",
+ "`◼️◼️◼️🌕◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️☀◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️🌎◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️◼️◼️◼️`",
+ "`◼️☀◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️🌕◼️`",
+ "`◼️◼️◼️☀◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️🌕◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️🌎◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️◼️◼️◼️`",
+ "`◼️🌕◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️☀◼️`",
+ "`◼️◼️◼️🌕◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️☀◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️🌎◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️◼️◼️◼️`",
+ "`◼️☀◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️🌕◼️`",
+ "`◼️◼️◼️☀◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️🌕◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️🌎◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️◼️◼️◼️`",
+ "`◼️🌕◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️☀◼️`",
+ "`◼️◼️◼️🌕◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️☀◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️🌎◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️◼️◼️◼️`",
+ "`◼️☀◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️🌕◼️`",
+ "`◼️◼️◼️☀◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️🌕◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️🌎◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n🌕◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️☀\n◼️◼️◼️◼️◼️`",
+ "`◼️🌕◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️☀◼️`",
+ "`◼️◼️◼️🌕◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️☀◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️🌎◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️◼️◼️◼️`",
+ "`◼️◼️◼️◼️◼️\n☀◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️🌕\n◼️◼️◼️◼️◼️`",
+ "`◼️☀◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️🌕◼️`",
+ "`◼️◼️◼️☀◼️\n◼️◼️◼️◼️◼️\n◼️◼️🌎◼️◼️\n◼️◼️◼️◼️◼️\n◼️🌕◼️◼️◼️`",
+ ]
+ for i in animation_ttl:
+ await asyncio.sleep(animation_interval)
+ await event.edit(animation_chars[i % 100])
+
+@sedenify(outgoing=True, pattern="^.şehir")
+async def sehir(event):
+ if event.fwd_from:
+ return
+ await event.edit("""☁️☁️🌞 ☁️ ☁️ ☁️
+ ☁️ ✈️ ☁️ 🚁 ☁️
+☁️ ☁️ ☁️ ☁️
+
+🏬🏨🏫🏢🏤🏥🏦🏪🏫
+ 🌲/ l🚍\🌳👭
+ 🌳/ 🚘 l 🏃 \🌴 👬
+ 👬 🌴/ l 🚔 \🌲
+ 🌲/ 🚖 l \ 🌳🚶
+ 🌳/ | 🚍 \ 🌴🚴🚴
+🌴/ | \🌲""")
+
+@sedenify(outgoing=True, pattern="^.(lmoon|ay)")
+async def lmoon(event):
+ if event.fwd_from:
+ return
+ await event.edit("🌕🌕🌕🌕🌕🌕🌕🌕\n🌕🌕🌖🌔🌖🌔🌕🌕\n🌕🌕🌗🌔🌖🌓🌕🌕\n🌕🌕🌗🌔🌖🌓🌕🌕\n🌕🌕🌖🌓🌗🌔🌕🌕\n🌕🌕🌗🌑🌑🌓🌕🌕\n🌕🌕🌗👀🌑🌓🌕🌕\n🌕🌕🌘👄🌑🌓🌕🌕\n🌕🌕🌗🌑🌑🌒🌕🌕\n🌕🌖🌑🌑🌑🌑🌔🌕\n🌕🌘🌑🌑🌑🌑🌒🌕\n🌖🌑🌑🌑🌑🌑🌑🌔\n🌕🤜🏻🌑🌑🌑🌑🤛🏻🌕\n🌕🌖🌑🌑🌑🌑🌔🌕\n🌘🌑🌑🌑🌑🌑🌑🌒\n🌕🌕🌕🌕🌕🌕🌕🌕")
+
+@sedenify(outgoing=True, pattern="^.k[uü][cç][uü]lme")
+async def _(event):
+ if event.fwd_from:
+ return
+ animation_interval = 1
+ animation_ttl = range(0, 30)
+ await event.edit("Küçülüyor...")
+ animation_chars = [
+ "🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎",
+ "◼️🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎",
+ "◼️◼️🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎",
+ "◼️◼️◼️️🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎",
+ "◼️◼️◼️◼️🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎",
+ "◼️◼️◼️◼️◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎",
+ "◼️◼️◼️◼️◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎",
+ "◼️◼️◼️◼️◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎",
+ "◼️◼️◼️◼️◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎",
+ "◼️◼️◼️◼️◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️",
+ "◼️◼️◼️◼️◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️◼️",
+ "◼️◼️◼️◼️◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️◼️◼️",
+ "◼️◼️◼️◼️◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n🔴🔵🌕♓♎⛎◼️◼️◼️◼️",
+ "◼️◼️◼️◼️◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n◼️◼️◼️◼️◼️",
+ "◼️◼️◼️◼️◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n◼️🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n◼️◼️◼️◼️◼️",
+ "◼️◼️◼️◼️◼️\n🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n◼️🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n◼️🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n◼️◼️◼️◼️◼️",
+ "◼️◼️◼️◼️◼️\n◼️🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n◼️🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n◼️🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n◼️◼️◼️◼️◼️",
+ "◼️◼️◼️◼️◼️\n◼️◼️🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n◼️🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n◼️🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n◼️◼️◼️◼️◼️",
+ "◼️◼️◼️◼️◼️\n◼️◼️◼️🔴🔵🌕♓♎⛎◼️\n◼️🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n◼️🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n◼️◼️◼️◼️◼️",
+ "◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n◼️🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n◼️◼️◼️◼️◼️",
+ "◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️◼️\n◼️🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️\n◼️◼️◼️◼️◼️",
+ "◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️◼️\n◼️🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️◼️\n◼️◼️◼️◼️◼️",
+ "◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️◼️\n◼️🔴🔵🌕♓♎⛎◼️◼️◼️\n◼️◼️◼️◼️◼️",
+ "◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️🔴🔵🌕♓♎⛎🔴🔵🌕♓♎⛎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️",
+ "◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️🔴🔵🌕♓♎⛎◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️",
+ "◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️\n◼️◼️◼️◼️◼️",
+ "◼️◼️◼️◼️\n◼️◼️◼️◼️\n◼️◼️◼️◼️\n◼️◼️◼️◼️",
+ "◼️◼️◼️\n◼️◼️◼️\n◼️◼️◼️",
+ "◼️◼️\n◼️◼️",
+ "◼️"
+ ]
+ for i in animation_ttl:
+ await asyncio.sleep(animation_interval)
+ await event.edit(animation_chars[i % 30])
+
+@sedenify(outgoing=True, pattern="^.nasa")
+async def _(event):
+ if event.fwd_from:
+ return
+ animation_interval = 1
+ animation_ttl = range(0, 24)
+ await event.edit("Bağlanıyor..")
+ animation_chars = [
+ "⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛",
+ "⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n🚀⬛⬛⬛⬛⬛",
+ "⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛🚀⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛",
+ "⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛🚀⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛",
+ "⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛🚀⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛",
+ "⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛🚀⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛",
+ "⬛⬛⬛⬛⬛🚀\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛",
+ "🛸⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛",
+ "⬛⬛⬛⬛⬛⬛\n🛸⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛",
+ "⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛🛸⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛",
+ "⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛🛸⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛",
+ "⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛🛸⬛⬛⬛\n⬛⬛⬛⬛⬛⬛",
+ "⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛🛸⬛⬛",
+ "⬛⬛⬛🛸⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛",
+ "⬛⬛⬛⬛⬛⬛\n⬛⬛⬛🛸⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛",
+ "⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛🛸⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬜⬜⬜⬜⬜⬜",
+ "⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛🛸⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬜⬜⬜⬜⬜⬜",
+ "⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛🛸⬛⬛\n⬜⬜⬜⬜⬜⬜",
+ "⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛🛸⬛🚶♂️\n⬜⬜⬜⬜⬜⬜",
+ "⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛🛸🚶♂️⬛\n⬜⬜⬜⬜⬜⬜",
+ "⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n👽⬛⬛🛸🚶♂️⬛\n⬜⬜⬜⬜⬜⬜",
+ "⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛👽⬛🛸🚶♂️⬛\n⬜⬜⬜⬜⬜⬜",
+ "⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛⬛⬛⬛⬛\n⬛⬛👽🛸🚶♂️⬛\n⬜⬜⬜⬜⬜⬜",
+ "__Sinyal Kaybedildi....__"
+ ]
+ for i in animation_ttl:
+ await asyncio.sleep(animation_interval)
+ await event.edit(animation_chars[i % 24])
+
CMD_HELP.update({
"memes":
".cowsay\
@@ -966,6 +1295,24 @@ async def typewriter(typew):
\nKullanım: Mesajı iyice uzatın.\
\n\n.10iq\
\nKullanım: Aptallık seviyenizi ölçün !!\
+\n\n.nasa\
+\nKullanım: 👽 👽 👽\
+\n\n.şehir\
+\nKullanım: Güzel manzaralı bir şehir.\
+\n\n.lmoon\
+\nKullanım: Moon komutunun farklı bir hali.\
+\n\n.küçülme\
+\nKullanım: Küçülen bir animasyon.\
+\n\n.dünya\
+\nKullanım: Dünya animasyonu.\
+\n\n.güneş\
+\nKullanım: Ay ve güneşin dünya etrafında döndüğü bir animasyon.\
+\n\n.yılan\
+\nKullanım: Yılana benzer bir animasyon.\
+\n\n.düşünme\
+\nKullanım: Düşünme animasyonu.\
+\n\n.hava\
+\nKullanım: Hava durumu animasyonu.\
\n\n.mizah\
\nKullanım: Aptallık seviyenizi ölçün !!\
\n\n.zal\
diff --git a/sedenbot/moduller/sangmata.py b/sedenbot/moduller/sangmata.py
index ff5b5e5..8f30c3a 100644
--- a/sedenbot/moduller/sangmata.py
+++ b/sedenbot/moduller/sangmata.py
@@ -57,7 +57,7 @@ async def _(event):
if not response:
await event.edit("`Botdan cevap alamadım!`")
elif response.text.startswith("Forward"):
- await event.edit("`Gizlilik ayarları yüzenden alıntı yapamadım`")
+ await event.edit("`Gizlilik ayarları yüzünden alıntı yapamadım`")
else:
await event.edit(response.text)
sleep(1)
diff --git a/sedenbot/moduller/scrapers.py b/sedenbot/moduller/scrapers.py
index 1b3842b..9752180 100644
--- a/sedenbot/moduller/scrapers.py
+++ b/sedenbot/moduller/scrapers.py
@@ -284,7 +284,7 @@ async def urban_dict(ud_e):
try:
define(query)
except HTTPError:
- await ud_e.edit(f"Üzgünüm, {query} için hiçbir sonuç bulunamadı.")
+ await ud_e.edit(f"Üzgünüm, **{query}** için hiçbir sonuç bulunamadı.")
return
mean = define(query)
deflen = sum(len(i) for i in mean[0]["def"])
@@ -311,9 +311,9 @@ async def urban_dict(ud_e):
if BOTLOG:
await ud_e.client.send_message(
BOTLOG_CHATID,
- query + "`sözcüğünün UrbanDictionary sorgusu başarıyla gerçekleştirildi!`")
+ query + " `sözcüğünün UrbanDictionary sorgusu başarıyla gerçekleştirildi!`")
else:
- await ud_e.edit(query + "**için hiçbir sonuç bulunamadı**")
+ await ud_e.edit(query + " **için hiçbir sonuç bulunamadı**")
@sedenify(outgoing=True, pattern=r"^.tts")
async def text_to_speech(query):
@@ -463,7 +463,7 @@ async def translateme(trans):
source_lan = LANGUAGES[f'{reply_text.src.lower()}']
transl_lan = LANGUAGES[f'{reply_text.dest.lower()}']
- reply_text = f"Şu dilden:**{source_lan.title()}**\nŞu dile:**{transl_lan.title()}:**\n\n{reply_text.text}"
+ reply_text = f"Şu dilden: **{source_lan.title()}**\nŞu dile: **{transl_lan.title()}:**\n\n{reply_text.text}"
await trans.edit(reply_text)
if BOTLOG:
diff --git a/sedenbot/moduller/stickers.py b/sedenbot/moduller/stickers.py
index 81a2fc8..4061007 100644
--- a/sedenbot/moduller/stickers.py
+++ b/sedenbot/moduller/stickers.py
@@ -44,9 +44,9 @@
"Bay dızcı bu çıkartmayı dızlıyor... ",
]
-@sedenify(outgoing=True, pattern="^.dızla")
+@sedenify(outgoing=True, pattern="^.(d[ıi]zla|kang)")
async def dizla(args):
- """ .dızla komutu çıkartmaları başka paketten alır ya da yeni bir çıkartma oluşturur. """
+ """ .kang komutu çıkartmaları başka paketten alır ya da yeni bir çıkartma oluşturur. """
user = await bot.get_me()
if not user.username:
user.username = user.first_name
@@ -275,7 +275,7 @@ async def resize_photo(photo):
return image
-@sedenify(outgoing=True, pattern="^.dızbilgisi")
+@sedenify(outgoing=True, pattern="^.packinfo")
async def dizbilgisi(event):
if not event.is_reply:
await event.edit("`Hiçlikten bir bilgi çekemem, sence yapabilir miyim?!`")
@@ -308,25 +308,25 @@ async def dizbilgisi(event):
if document_sticker.emoticon not in pack_emojis:
pack_emojis.append(document_sticker.emoticon)
- OUTPUT = f"**Sticker başlığı:** `{get_stickerset.set.title}\n`" \
- f"**Sticker kısa adı:** `{get_stickerset.set.short_name}`\n" \
- f"**Resmi mi:** `{get_stickerset.set.official}`\n" \
- f"**Arşivlenmiş mi:** `{get_stickerset.set.archived}`\n" \
- f"**Paketteki çıkartma sayısı:** `{len(get_stickerset.packs)}`\n" \
+ OUTPUT = f"**Sticker paketi başlığı:** `{get_stickerset.set.title}\n`" \
+ f"**Sticker paketi kısa adı:** `{get_stickerset.set.short_name}`\n" \
+ f"**Resmi paket mi ?:** `{get_stickerset.set.official}`\n" \
+ f"**Arşivlenmiş mi ?:** `{get_stickerset.set.archived}`\n" \
+ f"**Paketteki sticker sayısı:** `{len(get_stickerset.packs)}`\n" \
f"**Paketteki emoji sayısı:**\n{' '.join(pack_emojis)}"
await event.edit(OUTPUT)
CMD_HELP.update({
"stickers":
- ".dızla\
-\nKullanım: .dızla ile bir çıkartmaya ya da resme yanıtlayarak kendi çıkartma paketinize çıkartma olarak ekleyebilirsiniz.\
-\n\n.dızla [emoji(ler)]\
-\nKullanım: .dızla gibi çalışır fakat istediğiniz emojiyi çıkartmanın emojisi olarak belirtir.\
-\n\n.dızla [numara]\
+ ".kang\
+\nKullanım: .kang ile bir çıkartmaya ya da resme yanıtlayarak kendi çıkartma paketinize çıkartma olarak ekleyebilirsiniz.\
+\n\n.kang [emoji(ler)]\
+\nKullanım: .kang gibi çalışır fakat istediğiniz emojiyi çıkartmanın emojisi olarak belirtir.\
+\n\n.kang [numara]\
\nKullanım: Çıkartmayı ya da resmi belirtilen pakete ekler fakat emoji olarak şu kullanılır: 🤔 \
-\n\n.dızla [emoji(ler)] [numara]\
+\n\n.kang [emoji(ler)] [numara]\
\nKullanım: Çıkartmayı ya da resmi belirtilen pakete ekler ve belirttiğiniz emoji çıkartmanın emojisi olarak kullanılır.\
-\n\n.dızbilgisi\
+\n\n.packinfo\
\nKullanım: Çıkartma paketi hakkında bilgi verir."
})
diff --git a/sedenbot/moduller/system.py b/sedenbot/moduller/system.py
index 449ffc0..313dad9 100644
--- a/sedenbot/moduller/system.py
+++ b/sedenbot/moduller/system.py
@@ -18,15 +18,15 @@
from asyncio import create_subprocess_shell as asyncrunapp
from asyncio.subprocess import PIPE as asyncPIPE
-from platform import python_version, uname
from shutil import which
from os import remove
-from telethon import version
+from sedenbot.moduller.lovers import saniye
+from sedenbot.moduller.ecem import ecem
from sedenbot import CMD_HELP, ALIVE_MESAJI
from sedenbot.events import extract_args, sedenify
# ================= CONSTANT =================
-KULLANICIMESAJI = str(ALIVE_MESAJI) if ALIVE_MESAJI else uname().node
+KULLANICIMESAJI = ALIVE_MESAJI
# ============================================
@sedenify(outgoing=True, pattern="^.neofetch$")
async def sysdetails(sysd):
@@ -72,7 +72,7 @@ async def bot_ver(event):
+ str(stderr.decode().strip())
await event.edit("[Seden UserBot](https://telegram.dog/SedenUserBot) `Versiyonu: "
- f"{verout} v3.2"
+ f"{verout} v3.3"
"` \n"
"`Toplam değişiklik: "
f"{revout}"
@@ -126,17 +126,22 @@ async def pipcheck(pip):
@sedenify(outgoing=True, pattern="^.alive$")
async def amialive(alive):
+ if KULLANICIMESAJI.lower() == 'ecem':
+ await ecem(alive)
+ return
+ elif KULLANICIMESAJI.lower() == 'saniye':
+ await saniye(alive)
+ return
await alive.edit(f"`{KULLANICIMESAJI}`")
@sedenify(outgoing=True, pattern="^.alives")
async def alivename(kullanici):
- message = kullanici.text
+ message = extract_args(kullanici)
output = 'Kullanım: .alives '
- if not (message == '.alives' or message[7:8] != ' '):
- newuser = message[8:]
+ if len(message) > 0:
global KULLANICIMESAJI
- KULLANICIMESAJI = newuser
- output = 'Alive mesajı, ' + newuser + ' olarak ayarlandı !'
+ KULLANICIMESAJI = message
+ output = f'Alive mesajı, {KULLANICIMESAJI} olarak ayarlandı!'
await kullanici.edit("`" f"{output}" "`")
@sedenify(outgoing=True, pattern="^.resalive$")
diff --git a/sedenbot/moduller/tagall.py b/sedenbot/moduller/tagall.py
index 6ee3693..b8f0f0f 100644
--- a/sedenbot/moduller/tagall.py
+++ b/sedenbot/moduller/tagall.py
@@ -30,7 +30,7 @@
from sedenbot import CMD_HELP, bot
from sedenbot.events import sedenify
-@sedenify(outgoing=True, pattern="^.tagall")
+@sedenify(outgoing=True, pattern="^.tagall$")
async def _(event):
if event.fwd_from:
return
@@ -44,7 +44,7 @@ async def _(event):
await event.reply(mentions)
await event.delete()
-@sedenify(outgoing=True, pattern="^.admn")
+@sedenify(outgoing=True, pattern="^.admin$")
async def _(event):
if event.fwd_from:
return
@@ -63,6 +63,6 @@ async def _(event):
CMD_HELP.update({
"tagall":
".tagall\
- \nKullanım: Bu komutu kullandığınızda sohbet içerisinde ki herkesi etiketler.\n\n.admn \
+ \nKullanım: Bu komutu kullandığınızda sohbet içerisinde ki herkesi etiketler.\n\n.admin \
\nKullanım: Bu komutu kullandığınızda sohbet içerisinde ki yöneticileri etiketler."
})
diff --git a/sedenbot/moduller/updater.py b/sedenbot/moduller/updater.py
index 82dae54..fa247dc 100644
--- a/sedenbot/moduller/updater.py
+++ b/sedenbot/moduller/updater.py
@@ -18,13 +18,13 @@
# Bu modül commit sayısına bağlı olarak botu günceller.
#
-import sys
+from sys import executable, argv
import asyncio
import heroku3
from git import Repo
from shutil import rmtree
-from os import remove, execle, path, makedirs, getenv, environ
+from os import remove, execl, path, makedirs, getenv, environ
from git.exc import GitCommandError, InvalidGitRepositoryError, NoSuchPathError
from sedenbot import CMD_HELP, bot, HEROKU_APIKEY, HEROKU_APPNAME, UPSTREAM_REPO_URL
@@ -44,7 +44,7 @@ async def update_requirements():
reqs = str(requirements_path)
try:
process = await asyncio.create_subprocess_shell(
- ' '.join([sys.executable, "-m", "pip", "install", "-r", reqs]),
+ ' '.join([executable, "-m", "pip", "install", "-r", reqs]),
stdout=asyncio.subprocess.PIPE,
stderr=asyncio.subprocess.PIPE)
await process.communicate()
@@ -52,7 +52,7 @@ async def update_requirements():
except Exception as e:
return repr(e)
-@sedenify(outgoing=True, pattern=r"^\.update(?: |$)(.*)")
+@sedenify(outgoing=True, pattern=r"^.update(?: |$)(.*)")
async def upstream(ups):
await ups.edit(f"`SedenBot için güncellemeler denetleniyor...`")
conf = extract_args(ups)
@@ -133,14 +133,14 @@ async def upstream(ups):
await ups.edit(
f'`Güncel SedenBot kodu zorla eşitleniyor...`')
else:
- await ups.edit(f'`Bot güncelleştiriliyor lütfen bekle...`')
+ await ups.edit('`Bot güncelleştiriliyor, lütfen bekle...`')
if HEROKU_APIKEY is not None:
heroku = heroku3.from_key(HEROKU_APIKEY)
heroku_app = None
heroku_applications = heroku.apps()
if not HEROKU_APPNAME:
await ups.edit(
- f'`SedenBot Güncelleyiciyi kullanabilmek için HEROKU_APPNAME değişkenini tanımlamalısın. Aksi halde güncelleyici çalışmaz.`'
+ '`SedenBot Güncelleyiciyi kullanabilmek için HEROKU_APPNAME değişkenini tanımlamalısın. Aksi halde güncelleyici çalışmaz.`'
)
repo.__del__()
return
@@ -154,7 +154,7 @@ async def upstream(ups):
)
repo.__del__()
return
- await ups.edit(f'`SedenBot Güncelleniyor..\
+ await ups.edit('`SedenBot Güncelleniyor..\
\nBu işlem 4-5 dakika sürebilir, lütfen sabırla bekle. Beklemene değer :)`'
)
ups_rem.fetch(ac_br)
@@ -172,19 +172,24 @@ async def upstream(ups):
await ups.edit(f'{txt}\n`Karşılaşılan hatalar burada:\n{error}`')
repo.__del__()
return
- await ups.edit(f'`Güncelleme başarıyla tamamlandı!\n'
- f'SedenBot yeniden başlatılıyor sabırla beklediğin için teşekkür ederiz :)`')
+ await ups.edit('`Güncelleme başarıyla tamamlandı!\n'
+ 'SedenBot yeniden başlatılıyor, sabırla beklediğin için teşekkür ederiz :)`')
else:
try:
ups_rem.pull(ac_br)
except GitCommandError:
repo.git.reset("--hard", "FETCH_HEAD")
await update_requirements()
- await ups.edit(f'`Güncelleme başarıyla tamamlandı!\n'
- f'SedenBot yeniden başlatılıyor sabırla beklediğin için teşekkür ederiz :)`')
- args = [sys.executable, "seden.py"]
- execle(sys.executable, *args, environ)
- return
+ await ups.edit('`Güncelleme başarıyla tamamlandı!\n'
+ 'SedenBot yeniden başlatılıyor, sabırla beklediğin için teşekkür ederiz :)`')
+
+ try:
+ await bot.disconnect()
+ except:
+ pass
+
+ execl(executable, executable, *argv)
+
CMD_HELP.update({
'update':
diff --git a/sedenbot/moduller/weather.py b/sedenbot/moduller/weather.py
index 0a014dd..53ea050 100644
--- a/sedenbot/moduller/weather.py
+++ b/sedenbot/moduller/weather.py
@@ -19,12 +19,7 @@
import json
from requests import get
-from datetime import datetime
-from pytz import country_timezones as c_tz
-from pytz import timezone as tz
-from pytz import country_names as c_n
-from sedenbot import OPEN_WEATHER_MAP_APPID as OWM_API
from sedenbot import CMD_HELP, WEATHER_DEFCITY
from sedenbot.events import extract_args, sedenify
# ===== CONSTANT =====
@@ -33,28 +28,9 @@
else:
DEFCITY = None
# ====================
-async def get_tz(con):
- """ Verilen ülkenin zaman dilimini alır. """
- """ @aragon12 ve @zakaryan2004'e teşekkürler. """
- for c_code in c_n:
- if con == c_n[c_code]:
- return tz(c_tz[c_code][0])
- try:
- if c_n[con]:
- return tz(c_tz[con][0])
- except KeyError:
- return
-
@sedenify(outgoing=True, pattern="^.havadurumu")
-async def get_weather(weather):
- """ .havadurumu komutu bir bölgenin hava durumunu OpenWeatherMap üzerinden alır. """
-
- if not OWM_API:
- await weather.edit(
- "`Önce` https://openweathermap.org/ `adresinden bir API anahtarı almalısın.`")
- return
-
- APPID = OWM_API
+async def get_wttr(weather):
+ """ .havadurumu komutu bir bölgenin konumunu wttr üzerinden alır. """
args = extract_args(weather)
@@ -67,84 +43,22 @@ async def get_weather(weather):
return
else:
CITY = args
-
- timezone_countries = {
- timezone: country
- for country, timezones in c_tz.items() for timezone in timezones
- }
-
- if "," in CITY:
- newcity = CITY.split(",")
- if len(newcity[1]) == 2:
- CITY = newcity[0].strip() + "," + newcity[1].strip()
- else:
- country = await get_tz((newcity[1].strip()).title())
- try:
- countrycode = timezone_countries[f'{country}']
- except KeyError:
- await weather.edit("`Geçersiz ülke.`")
- return
- CITY = newcity[0].strip() + "," + countrycode.strip()
-
- url = f'https://api.openweathermap.org/data/2.5/weather?q={CITY}&appid={APPID}'
- request = get(url)
- result = json.loads(request.text)
-
- if request.status_code != 200:
- await weather.edit(f"`Geçersiz ülke.`")
- return
-
- cityname = result['name']
- curtemp = result['main']['temp']
- humidity = result['main']['humidity']
- min_temp = result['main']['temp_min']
- max_temp = result['main']['temp_max']
- desc = result['weather'][0]
- desc = desc['main']
- country = result['sys']['country']
- sunrise = result['sys']['sunrise']
- sunset = result['sys']['sunset']
- wind = result['wind']['speed']
- winddir = result['wind']['deg']
-
- ctimezone = tz(c_tz[country][0])
- time = datetime.now(ctimezone).strftime("%A, %I:%M %p")
- fullc_n = c_n[f"{country}"]
-
- dirs = ["N", "NE", "E", "SE", "S", "SW", "W", "NW"]
-
- div = (360 / len(dirs))
- funmath = int((winddir + (div / 2)) / div)
- findir = dirs[funmath % len(dirs)]
- kmph = str(wind * 3.6).split(".")
- mph = str(wind * 2.237).split(".")
-
- def fahrenheit(f):
- temp = str(((f - 273.15) * 9 / 5 + 32)).split(".")
- return temp[0]
-
- def celsius(c):
- temp = str((c - 273.15)).split(".")
- return temp[0]
-
- def sun(unix):
- xx = datetime.fromtimestamp(unix, tz=ctimezone).strftime("%I:%M %p")
- return xx
-
- await weather.edit(
- f"**Sıcaklık:** `{celsius(curtemp)}°C | {fahrenheit(curtemp)}°F`\n"
- +
- f"**En Düşük Sıcaklık:** `{celsius(min_temp)}°C | {fahrenheit(min_temp)}°F`\n"
- +
- f"**En Yüksek Sıcaklık:** `{celsius(max_temp)}°C | {fahrenheit(max_temp)}°F`\n"
- + f"**Nem:** `{humidity}%`\n" +
- f"**Rüzgar Hızı:** `{kmph[0]} kmh | {mph[0]} mph, {findir}`\n" +
- f"**Gündoğumu:** `{sun(sunrise)}`\n" +
- f"**Günbatımı:** `{sun(sunset)}`\n\n" + f"**{desc}**\n" +
- f"`{cityname}, {fullc_n}`\n" + f"`{time}`")
+
+ if ',' in CITY:
+ CITY = CITY[:CITY.find(',')].strip()
+
+ try:
+ req = get(f'http://wttr.in/{CITY}?mqT0',
+ headers = {'User-Agent':'curl/7.66.0', 'Accept-Language':'tr'})
+ data = req.text
+ if '===' in data:
+ raise Exception
+ await weather.edit(f'```{data}```')
+ except:
+ await weather.edit('`Hava durumu bilgisi alınamadı.`')
CMD_HELP.update({
"havadurumu":
- "Kullanım: .havadurumu şehir adı veya .havadurumu şehir adı, ülke adı/ülke kodu\
+ "Kullanım: .havadurumu şehir adı veya .havadurumu şehir adı\
\nBir bölgenin hava durumunu verir."
})
diff --git a/sedenbot/seden_main.py b/sedenbot/seden_main.py
index 9e855d5..0ae86a7 100644
--- a/sedenbot/seden_main.py
+++ b/sedenbot/seden_main.py
@@ -78,6 +78,6 @@ async def load_bl():
LOGS.info("Botunuz çalışıyor! Herhangi bir sohbete .alive yazarak Test edin."
" Yardıma ihtiyacınız varsa, Destek grubumuza gelin https://telegram.me/SedenUserBotSupport")
-LOGS.info("Bot sürümünüz Seden v3.2")
+LOGS.info("Bot sürümünüz Seden v3.3")
bot.run_until_disconnected()