From 58e44ae5687891f16e3d9f939895df99f4425e4d Mon Sep 17 00:00:00 2001 From: Kamil Tinkov <82041236+kamil12-dev@users.noreply.github.com> Date: Mon, 12 Jun 2023 19:40:05 +0300 Subject: [PATCH] Add files via upload --- cogs/AutoRole.py | 4 +- cogs/__pycache__/AutoRole.cpython-311.pyc | Bin 4970 -> 4993 bytes cogs/__pycache__/admins.cpython-311.pyc | Bin 32112 -> 32113 bytes cogs/__pycache__/chat.cpython-311.pyc | Bin 2881 -> 2905 bytes cogs/__pycache__/econom.cpython-311.pyc | Bin 10115 -> 10118 bytes cogs/__pycache__/event.cpython-311.pyc | Bin 5202 -> 5488 bytes cogs/__pycache__/help.cpython-311.pyc | Bin 9209 -> 12027 bytes cogs/__pycache__/infobots.cpython-311.pyc | Bin 3305 -> 3308 bytes cogs/__pycache__/mute.cpython-311.pyc | Bin 4811 -> 12886 bytes cogs/__pycache__/muteChat.cpython-311.pyc | Bin 0 -> 10825 bytes cogs/__pycache__/tikets.cpython-311.pyc | Bin 5043 -> 5884 bytes cogs/__pycache__/user.cpython-311.pyc | Bin 20008 -> 15613 bytes cogs/admins.py | 3 +- cogs/chat.py | 5 +- cogs/event.py | 12 +- cogs/help.py | 143 +++++++++++++++++++++ cogs/mute.py | 145 ++++++++++++++++++++++ cogs/user.py | 86 ------------- 18 files changed, 304 insertions(+), 94 deletions(-) create mode 100644 cogs/__pycache__/muteChat.cpython-311.pyc create mode 100644 cogs/help.py create mode 100644 cogs/mute.py diff --git a/cogs/AutoRole.py b/cogs/AutoRole.py index 91783d9..b1d5d60 100644 --- a/cogs/AutoRole.py +++ b/cogs/AutoRole.py @@ -51,7 +51,7 @@ async def set_default_role(self, ctx, role: disnake.Role = None): description="Укажите корректную роль", color=0x7788ff ) - await ctx.send(embed=embed) + await ctx.send(embed=embed, ephemeral=True) @set_default_role.error async def set_default_role_error(self, ctx, error): @@ -61,7 +61,7 @@ async def set_default_role_error(self, ctx, error): description="У вас нет разрешения управлять ролями!", color=0x7788ff ) - await ctx.send(embed=embed) + await ctx.send(embed=embed, ephemeral=True) def setup(bot): diff --git a/cogs/__pycache__/AutoRole.cpython-311.pyc b/cogs/__pycache__/AutoRole.cpython-311.pyc index cd4054dda5897eea544d66dbc1a74dc6c34b0bd1..15df995bab2bdc8fd50139a360e95723b61d3333 100644 GIT binary patch delta 683 zcmaE*)~L?AoR^o20SL_U%2V!aj0U_ z%pkQ;zzU?Bf%tRT=7*f2j9e*PYq*y&F)*xVn(WUi#+Jem%%I7$If`4CQAQQ0tVj|_ zgsfyLk_OVZI8zHUQgc&_5_2X`Yj6;>^7CfYhQ~5Gy~gxCr4`BzG2BfRwYQ z78T_e0bSa{@2^+}6nO!J4Gd4YMJJ@rjhGXEMb`czx5E`~hYt*FoEDS6@N4OBP??}{ zQONv?kog53oah5DP&q`8w}1y9$OX69d{c9ifcEK4UMQf&Z3z@AvIP-#ldlOZi8T4Z zAjoR6fqe@Pn1LWZGBdEbGG1YI0Wm6ojPegGK$RcV7}&(Fuu6YmVrK=~1SCN6GAJTo z;mMZ;^BL_YI}7PD`b;hqGSLA$hC3y*I4?0fRWG%oqzIHsia0@pGl&2slp-Gx;W_!D hkOZUOv;Y7A delta 656 zcmZovf2GE|oR^o20SJ_@m89(1$oq$laphz#_SKB?o42t)Wn@zYN)@S1UdX8`tqWu( zGlSGZ0V|Mh2I9{pn;&w9GERQWs>Gzpy*Y+kmyu5mC|)E9BBX)D5~mr+}931dWSA>Q{u+ zFYw?*A9&d~H9jx^iOER<9(*8MZn62M<|YBn)StXVK#SV~-Ln4-A5= zDjV3h@PHWz;v+Kyn=9iLRu>SX0>~);zyehHL5+b;>fCx}f7YP7~UmP~M`6;D2sdh!a klNp6A-GMe(GNKb56+JZ{LE>K!k`;`MjPf5CFbS~X0KXWY7XSbN diff --git a/cogs/__pycache__/admins.cpython-311.pyc b/cogs/__pycache__/admins.cpython-311.pyc index 94987824dcea8004592d2116de3dab86d71c5824..bc15b4c4b330358dde2b01e071d6c825fb24329b 100644 GIT binary patch delta 299 zcmezHi}B+xM&9MTyj%=GAhWI|C43`q3NNGV<|5uROpMB#?FFW=FzRf+BBH>`XubKX zll1}6XUzhQua5Q7=Lg6;`of4 zk#qBH-@Bab#*9D%;+Q5s^i|vZG@P50F=+G0gsW_frJIkZyR$HMZ|2VlVPTxNIi(|!Xy!gzFZxT!WHa8u`f!YL+slOm?f)1^`x7XvF{k diff --git a/cogs/__pycache__/chat.cpython-311.pyc b/cogs/__pycache__/chat.cpython-311.pyc index 63273bbd7cff8f887f1cc9e7cd8c6111ba50d0e7..bdcbd2630a4edad029c9cee6cd9ce5d5cca55413 100644 GIT binary patch delta 317 zcmX>oc2kUZIWI340}%Y$+mf&JvS2JHXx9n`E)Kp{ljbC0fGMa6E!1R@orC7d(aq?9bo6WqeO^jTeMXALF z`FSa+DU)Zgg)>%e{=jC<=*Tb9Q~!a1k<;pikoa`1Nm>g`H@HmDx+r9MMac334^H%f z8K?!UZ*nZh2VHSis};f@7=RRl_$bNE#`c8)NPLh$k(gY?IiJyZvJ}@nPjyD1227&E aqQ~YVNc;;zGK7(lQ5t9?22sQh3@-qbKw%{S delta 271 zcmca9c2JCWIWI340}yCkD@j=}k$1a6zNcSyPGOR>S+J>5RF122s!@JMh_O>nQns5{ zSc!#sd5N2aMP^x> zNFj)ilH6=;Ul@SI2MH93$&)zeGa5}c;<~4!#t77aNpx8B*n9+ue?dqFO}62d1pw`O BR=ofK diff --git a/cogs/__pycache__/econom.cpython-311.pyc b/cogs/__pycache__/econom.cpython-311.pyc index 6fa45daa7fe226ac6d8f61e323b538ffc270cd07..d459c9a0995022d324c6edb5a530a9bec27c999e 100644 GIT binary patch delta 44 ycmZqnZ}aC~&dbZi00g}|$~SVKWfIbNwu%WYPAw{q@lMRm%+U>S-u#?tjtT%K;SN^- delta 41 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 wr#epg5uLH}nKfD|3z5oCK delta 2762 zcma)8eQZWa!alJ zR1N$=4KVHKZ@>M~(;pp%4Sv;ttsYxZk1_Swt*V;yL$3_IarC{~{E%H0Ua1N*b=`O4 z`hyxKmEc)-&_h2__RuzWP&`7PaX0Vw3ht(f@2@D0zu3sSdYIB{E4?d9Z%J|~oh1Rt zZCP;tP`r=D`Sj23{bGHg-QyF*I{K)(|A|)2!e%6GNH7z{%KrXnLbt4_nMm~azb}&Q zz_mmm`-l%w^{b?oUQ?eE>*<&3^Nrhp8AZ_Qg}P+8?_4b;D+WdPp!%YiQE18&pe?@o zhc+3FM&pmgi%ql80UxY(fq;E>LjAjn=>XRU_xUWH( zVE>XQkZh+vs^03}1Y7I5!c=vuSW&8}*x=23{$5Kzd*Fx^_7one>62vDsGvXFa8&ft zmIooNwcWDU@FA!0yV@m*#sXnlsGp^K8q|i`Zt``|7Zk|`Sh8&pU!*f*S{WMO+??}9 zI?ZG{9y@+AqV3h#J8YgU+NbR^8e3r3H2WuPiQQmV*fqAGu|+n=7BzcP`;ML()}Aqw zCIRt5-4UI!Cjfex&BF>vjV&W7!1+9&l7QwGehwCvK$m8p26*l&9IwN@4EE;BGIMY$ z0Cxc(ivU^z`IMf?5t>2yP9UBRkQ;4YbgiNsojE zv$2F>aRcvw;+vSq1%`25ffY(|6T*X-UWOphK4uRx0?}C}88t~LmO7s1;%~5J`z*Tw z(Juk^B`|wlL)p{3PENJv>8_SmI@(y9j|Cn0K>yaE-{VJh@LXaPwa^thJ%$vCvWns zLb3q4hMHN&9f*+uu5=p0zhqC4$HB?*9g)s4J$5`B0l9%hdMutEz-@-;Be8Jxn{6c%5=zEmYawJokLeX^FQ%5h&x8hhA9o=wv#Z$qtyI=#ZXD zna<1dHe@re@rHXDdf^|0LSAn2 z3NJErZyTMjEoAK32Bl{|v~Ys}ZiCvi|Et(e36=OwQ~ z(RVPFF^L|YTjdrg;ls0L~lj3{r zD;;}E0&f3*%H1d1=;zyCQ=S8(2kE&`xW!*~-H2H!eb@|}Co%*lcF`5L(kW_(>H;|G zi*9H5a=!_RlP&biP{8{G*y6;uR;U(k+jUFuP4G|2?GxdT$X7}JyHkg5BmeH&!zTJd fIQ)26#BlyQ&5uouuT*Qd`Qy9mK@pMuDctlQ`cm+= diff --git a/cogs/__pycache__/infobots.cpython-311.pyc b/cogs/__pycache__/infobots.cpython-311.pyc index 84ada4d739ed98b51ec4d9ff631387c099225a08..e892a931877a6a780390d500c770a5eaf5d9add6 100644 GIT binary patch delta 51 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 O?Qq}`=Q{|k^Zx)$&gI1b literal 4811 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 literal 0 HcmV?d00001 diff --git a/cogs/__pycache__/tikets.cpython-311.pyc b/cogs/__pycache__/tikets.cpython-311.pyc index 8a610ff0f25ed1eb6ae8222b752d42cdb43f3bca..88b53c9edc8d7f30ba756070d7ff6fc3c52ba320 100644 GIT binary patch literal 5884 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 I2OR4E4=A$WvH$=8 diff --git a/cogs/__pycache__/user.cpython-311.pyc b/cogs/__pycache__/user.cpython-311.pyc index dc2a5c67d2e5025042fb61f9a373e5595812893b..0f96d2789493fec1450998b6f369a27b249be6a3 100644 GIT binary patch delta 2088 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 K5nx2n`2Pb^{8mf= diff --git a/cogs/admins.py b/cogs/admins.py index d05d1a5..6fa940d 100644 --- a/cogs/admins.py +++ b/cogs/admins.py @@ -8,6 +8,7 @@ import typing from datetime import datetime + conn = sqlite3.connect('bans.db') c = conn.cursor() @@ -424,7 +425,5 @@ async def send(self, ctx, member: disnake.Member, *, text): color=0x7788ff) await ctx.send(embed=success_embed, ephemeral=True) - - def setup(bot: commands.Bot): bot.add_cog(admins(bot)) \ No newline at end of file diff --git a/cogs/chat.py b/cogs/chat.py index a81d988..e4be042 100644 --- a/cogs/chat.py +++ b/cogs/chat.py @@ -4,7 +4,7 @@ import openai -openai.api_key = '' +openai.api_key = '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' class chat(commands.Cog): def __init__(self, bot): @@ -44,7 +44,8 @@ async def chat(self, inter, message: str): else: embed = Embed(title="ChatGPT", description=f"{full_response[:2000]}...\n\n[Описание обрезано из-за ограничения Discord на 2000 символов.]", color=0x7788ff) - await inter.followup.send(embed=embed, ephemeral=True) + if not inter.responded: + await inter.send(embed=embed, ephemeral=True) def setup(bot): diff --git a/cogs/event.py b/cogs/event.py index 444cb1d..3489952 100644 --- a/cogs/event.py +++ b/cogs/event.py @@ -9,10 +9,18 @@ def __init__(self, bot: commands.Bot): + #@commands.Cog.listener() + #async def on_ready(self): + # await self.bot.change_presence(status=disnake.Status.idle, activity=disnake.Activity(type=disnake.ActivityType.listening, name="Apple Music")) + + @commands.Cog.listener() async def on_ready(self): - await self.bot.change_presence(status=disnake.Status.idle, activity=disnake.Activity(type=disnake.ActivityType.listening, name="Apple Music")) - + members = sum(guild.member_count - 1 for guild in self.bot.guilds) + await self.bot.change_presence(activity=disnake.Activity( + type=disnake.ActivityType.watching, + name=f'{members} участников' + )) @commands.Cog.listener() diff --git a/cogs/help.py b/cogs/help.py new file mode 100644 index 0000000..3cbc862 --- /dev/null +++ b/cogs/help.py @@ -0,0 +1,143 @@ +import disnake +from disnake.ext import commands + + + +class helpc(commands.Cog): + def __init__(self, bot): + self.bot = bot + + + @commands.slash_command(name="help", description="Помощь по командам.", permissions=[disnake.Permissions().none()]) + async def __help(self, ctx): + view = design_help_cmd() + embed = disnake.Embed(title=f'**__Список команд__**', description='Пожалуйста, выберите категорию.', color=disnake.Color.green()) + embed.set_footer(text=f"Запросил команду: {ctx.author.name}") + await ctx.send(embed=embed, view=view, ephemeral=True) + + +class design_help_cmd(disnake.ui.View): + def __init__(self): + super().__init__() + self.add_item(help_cmd()) + +class help_cmd(disnake.ui.Select): + def __init__(self): + options = [ + disnake.SelectOption(label='Развлечения', description='Куча весёлостей и развлечений!', emoji='<:fun:1004671040116490300>'), + disnake.SelectOption(label='Модерация', description='Команды для модераторов / Администрации.', emoji='<:moderator:1004670538758754445>'), + disnake.SelectOption(label='Глобальный чат', description='Общение с разнами серверами через бота.', emoji='<:chat:992097506748010656>'), + disnake.SelectOption(label='Общее', description='Общие команды для обычных юзеров.', emoji='<:all:1004659237336657972>'), + disnake.SelectOption(label='Животные', description='Изображение животных.', emoji='<:animals:1004669831217422417>'), + disnake.SelectOption(label='NSFW', description='18+ изображение', emoji='<:18:1004669364705955852>'), + disnake.SelectOption(label='Информация', description='Полезные команды', emoji='<:info:992096997500780574>'), + disnake.SelectOption(label='Premium', description='Покупка подписки', emoji='💲'), + disnake.SelectOption(label='Экономика', description='Команды для экономики', emoji='💰'), + ] + super().__init__(placeholder='Выбор категории', min_values=1, max_values=1, options=options) + + async def callback(self, interaction: disnake.Interaction): + if "Развлечения" in self.values: + embed = disnake.Embed(color=disnake.Color.yellow()) + embed.add_field(name='Развлечения', value=( + '`/gay` > в разработке...\n' + '`/chill` > Узнать размер члена! 😌\n' + )) + await interaction.response.edit_message(embed=embed) + if "Модерация" in self.values: + embed = disnake.Embed(color=disnake.Color.blurple()) + embed.add_field(name='Модерация', value=( + '`/clear` > Очистка чата\n' + '`/embed` > Эмбед от имени бота\n' + '`/poll` > Голосование\n' + '`/kick` > Выгнать пользователя с сервера 😠\n' + '`/ban` > Забанить пользователя на сервере 🚫\n' + '`/join` > Зайти в голосовой канал 🎤\n' + '`/leave` > Выйти из голосового канала 🎙️\n' + '`/echo` > Отправить сообщение от имени Полины 📢\n' + '`/stay` > Оставить Полину в голосовом канале 🙏\n' + '`/create_role` > Создание новой роли 🛠️\n' + '`/assign_role` > Выдача роли пользователю 🤝\n' + '`/setroleap` > Установить роль для Автовыдачи 👥\n' + '`/remove_role` > Удаление роли у пользователя ❌\n' + '`/warns` > Выдать предупреждение пользователю ⚠️\n' + '`/unwarn` > Снять предупреждение у пользователя 💚\n' + '`/setcolorrole` > Изменить цвет роли 🌈\n' + '`/voting` > Провести голосование 🗳️ \n' + '`/send-dm` > Отправить в лс сообщение от имени бота 💬\n' + '`/voicemute` > Mute пользователя в голосовых каналах 😶\n' + '`/unvoicemute` > unMute пользователя в голосовых каналах🎙️\n' + )) + await interaction.response.edit_message(embed=embed) + if "Глобальный чат" in self.values: + embed = disnake.Embed(color=disnake.Color.purple()) + embed.add_field(name='Общее', value=( + '`/global` > в разработке...\n' + )) + await interaction.response.edit_message(embed=embed) + if "Общее" in self.values: + embed = disnake.Embed(color=disnake.Color.blue()) + embed.add_field(name='Общее', value=( + '`/help` > Посмотреть все команды 👀\n' + '`/daily` > Получить ежедневные Poli-coins 💰\n' + '`/balance` > Показать баланс 💵\n' + '`/dice` > Играть в Dice 🎲\n' + '`/user_agreement` > Пользовательское соглашение 📜\n' + '`/profile` > Узнать свою статистику 📊\n' + '`/calculate` > Открыть калькулятор 🧮\n' + '`/level` > Узнать свой уровень 📈\n' + '`/warnings` > Показать список предупреждений ⚠️\n' + '`/avatar` > Посмотреть аватар пользователя 👤\n' + '`/short` > Сократить URL-адрес 🔗\n' + '`/server` > Просмотр информации о сервере 🖥️\n' + '`/ping` > Проверка бота на работу 🏓\n' + '`/nitro` > Генерирует Discord Nitro 🎁\n' + '`/chat` > Спросить у ChatGPT 🤔\n' + )) + await interaction.response.edit_message(embed=embed) + if "Животные" in self.values: + embed = disnake.Embed(color=disnake.Color.green()) + embed.add_field(name='Животные', value=( + '`/dog` > в разработке...\n' + )) + await interaction.response.edit_message(embed=embed) + if "NSFW" in self.values: + embed = disnake.Embed(color=disnake.Color.red()) + embed.add_field(name='NSFW', value=( + '`/waifu` > 18+ картинки / GIF 🍑\n' + '`/blowjob` > 18+ картинки / GIF 🍆\n' + '`/trap` > 18+ картинки / GIF 🚻\n' + '`/neko` > 18+ картинки / GIF 😺\n' + '`/sex` > 18+ картинки / GIF 🍌\n' + '`/solo` > 18+ картинки / GIF 👄' + )) + await interaction.response.edit_message(embed=embed) + if "Информация" in self.values: + embed = disnake.Embed(color=disnake.Color.green()) + embed.add_field(name='Информация', value=( + '`/news` > в разработке...\n' + )) + await interaction.response.edit_message(embed=embed) + if "Premium" in self.values: + embed = disnake.Embed(color = disnake.Color.dark_theme()) + embed.add_field(name='Premium', value=( + '`/premium` > в разработке...\n' + '`/buy-premium` > в разработке...\n' + )) + await interaction.response.edit_message(embed=embed) + + if "Экономика" in self.values: + embed = disnake.Embed(color=disnake.Color.gold()) + embed.add_field(name='Экономика', value=( + '`/balance` > Показать баланс 💵\n' + '`/daily` > Получить ежедневные Poli-coins 💰\n' + '`/dice` > Играть в Dice 🎲\n' + '`/buy` > Купить предмет из магазина (в разработке...) 🛍️\n' + '`/sell` > Продать предмет из инвентаря (в разработке...)💸\n' + '`/inventory` > Показать инвентарь (в разработке...)🎒\n' + '`/leaderboard` > Показать топ пользователей по балансу(в разработке...) 🏆\n' + )) + await interaction.response.edit_message(embed=embed) + +def setup(bot): + bot.add_cog(helpc(bot)) \ No newline at end of file diff --git a/cogs/mute.py b/cogs/mute.py new file mode 100644 index 0000000..db2357b --- /dev/null +++ b/cogs/mute.py @@ -0,0 +1,145 @@ +import disnake +from disnake.ext import commands +import sqlite3 +import asyncio +import aiohttp +import datetime + +class mute(commands.Cog): + def __init__(self, bot): + self.bot = bot + self.conn = sqlite3.connect('database.db') + self.cursor = self.conn.cursor() + self.create_table() + + def create_table(self): + self.cursor.execute('''CREATE TABLE IF NOT EXISTS mutes + (user_id INT PRIMARY KEY, unmute_time INT)''') + self.conn.commit() + + @commands.slash_command(name='voicemute', description='Mute пользователя в голосовых каналах') + @commands.has_permissions(manage_roles=True) + async def tempmute(self, ctx, member: disnake.Member, duration: int, reason=None): + mute_role = disnake.utils.get(ctx.guild.roles, name="mute") + if not mute_role: + mute_role = await ctx.guild.create_role(name="mute") + + permissions = disnake.Permissions.none() + permissions.update(send_messages=False, connect=True, speak=True, stream=True, use_voice_activation=True) + await mute_role.edit(permissions=permissions) + + await member.add_roles(mute_role, reason=reason) + + await self.mute_microphone(member, True) + + unmute_time = asyncio.get_event_loop().time() + duration * 60 + + self.cursor.execute('INSERT OR REPLACE INTO mutes VALUES (?, ?)', (member.id, unmute_time)) + self.conn.commit() + + embed = disnake.Embed(title="Мут", color=0x7788ff) + embed.add_field(name="Пользователь", value=member.mention, inline=True) + embed.add_field(name="Длительность", value=f"{duration} минут", inline=True) + embed.add_field(name="Причина", value=reason, inline=True) + embed.set_footer(text=f"Размут через: {duration} минут ⏰") + embed.set_footer(text="Polina bot © 2023 Все права защищены") + + await ctx.send(embed=embed, ephemeral=True) + + await self.send_mute_dm(member, ctx.guild.name, reason, duration, ctx.author) + + await asyncio.sleep(duration * 60) + await self.unmute_member(member) + + @commands.slash_command(name='unvoicemute', description='unMute пользователя в голосовых каналах') + @commands.has_permissions(manage_roles=True) + async def unmute(self, ctx, member: disnake.Member): + mute_role = disnake.utils.get(ctx.guild.roles, name="mute") + if mute_role in member.roles: + await member.remove_roles(mute_role) + await self.unmute_member(member) + + embed = disnake.Embed(title="Размут", color=0x7788ff) + embed.add_field(name="Пользователь", value=member.mention, inline=True) + embed.set_footer(text="Был размучен 🎉") + embed.set_footer(text="Polina bot © 2023 Все права защищены") + + await ctx.send(embed=embed, ephemeral=True) + + await self.send_unmute_dm(member) + else: + await ctx.send(f"{member.mention} не был mute.") + + self.cursor.execute('DELETE FROM mutes WHERE user_id = ?', (member.id,)) + self.conn.commit() + + async def mute_microphone(self, member: disnake.Member, mute: bool): + url = f"https://discord.com/api/v10/guilds/{member.guild.id}/members/{member.id}" + headers = { + "Authorization": f"Bot {self.bot.http.token}", + "Content-Type": "application/json" + } + data = { + "mute": mute + } + + async with aiohttp.ClientSession() as session: + async with session.patch(url, headers=headers, json=data) as response: + if response.status == 204: + return True + else: + return False + + async def unmute_member(self, member: disnake.Member): + await self.mute_microphone(member, False) + await self.send_unmute_dm(member) + + async def send_mute_dm(self, member, guild_name, reason, duration, admin): + try: + dm_channel = await member.create_dm() + embed = disnake.Embed(title="Вы получили Mute", color=0x7788ff) + embed.add_field(name="Сервер", value=guild_name, inline=True) + embed.add_field(name="Причина", value=reason, inline=True) + unmute_datetime = datetime.datetime.now() + datetime.timedelta(minutes=duration) + embed.add_field(name="Дата и время размута", value=unmute_datetime.strftime("%Y-%m-%d %H:%M:%S"), inline=False) + embed.add_field(name="Администратор", value=admin.name, inline=True) + embed.set_footer(text="Вы будете размучены автоматически. 🕒") + embed.set_footer(text="Polina bot © 2023 Все права защищены") + await dm_channel.send(embed=embed) + except Exception as e: + print(f"Ошибка при отправке сообщения размута пользователю {member}: {e}") + + async def send_unmute_dm(self, member): + try: + dm_channel = await member.create_dm() + embed = disnake.Embed(title="Вы размучены 🎉", color=0x7788ff) + embed.add_field(name="Сервер", value=member.guild.name, inline=True) + embed.set_footer(text="Вы размучены 🎉") + embed.set_footer(text="Polina bot © 2023 Все права защищены") + await dm_channel.send(embed=embed) + except Exception as e: + print(f"Ошибка при отправке сообщения размута пользователю {member}: {e}") + + @commands.Cog.listener() + async def on_ready(self): + current_time = asyncio.get_event_loop().time() + for guild in self.bot.guilds: + self.cursor.execute('SELECT * FROM mutes WHERE unmute_time <= ?', (current_time,)) + mutes = self.cursor.fetchall() + for mute in mutes: + member = guild.get_member(mute[0]) + if member: + mute_role = disnake.utils.get(guild.roles, name="mute") + if not mute_role: + mute_role = await guild.create_role(name="mute") + await member.remove_roles(mute_role) + self.cursor.execute('DELETE FROM mutes WHERE user_id = ?', (member.id,)) + self.conn.commit() + + + + + + +def setup(bot): + bot.add_cog(mute(bot)) diff --git a/cogs/user.py b/cogs/user.py index 5f05caf..cebb20e 100644 --- a/cogs/user.py +++ b/cogs/user.py @@ -9,97 +9,11 @@ - - - class user(commands.Cog): def __init__(self, client: commands.Bot): self.client = client - @commands.slash_command(name='help', description='Посмотреть все команды') - async def help(ctx): - adm_commands_list = [ - ("/kick", "`Выгнать пользователя с сервера 😠` (Admin)"), - ("/clear", "`Очистить чат 💬` (Admin)"), - ("/ban", "`Забанить пользователя на сервере 🚫` (Admin)"), - ("/join", "`Зайти в голосовой канал 🎤` (Admin)"), - ("/leave", "`Выйти из голосового канала 🎙️` (Admin)"), - ("/echo", "`Отправить сообщение от имени Полины 📢` (Admin)"), - ("/stay", "`Оставить Полину в голосовом канале 🙏` (Admin)"), - ("/create_role", "`Создание новой роли 🛠️` (Admin)"), - ("/assign_role", "`Выдача роли пользователю 🤝` (Admin)"), - ("/setroleap", "`Установить роль для Автовыдачи 👥` (Admin)"), - ("/remove_role", "`Удаление роли у пользователя ❌` (Admin)"), - ("/warns", "`Выдать предупреждение пользователю ⚠️` (Admin)"), - ("/unwarn", "`Снять предупреждение у пользователя 💚` (Admin)"), - ("/setcolorrole", "`Изменить цвет роли 🌈` (Admin)"), - ("/voting", "`Провести голосование 🗳️` (Admin)"), - ("/send-dm", "`Отправить в лс сообщение от имени бота 💬` (Admin)"), - ] - - normal_commands_list = [ - ("/help", "`Посмотреть все команды 👀`"), - ("/daily", "`Получить ежедневные Poli-coins 💰`"), - ("/balance", "`Показать баланс 💵`"), - ("/dice", "`Играть в Dice 🎲`"), - ("/user_agreement", "`Пользовательское соглашение 📜`"), - ("/profile", "`Узнать свою статистику 📊`"), - ("/calculate", "`Открыть калькулятор 🧮`"), - ("/chill", "`Расслабиться и отдохнуть 😌`"), - ("/level", "`Узнать свой уровень 📈`"), - ("/warnings", "`Показать список предупреждений ⚠️`"), - ("/avatar", "`Посмотреть аватар пользователя 👤`"), - ("/short", "`Сократить URL-адрес 🔗`"), - ("/server", "`Просмотр информации о сервере 🖥️`"), - ("/ping", "`Проверка бота на работу 🏓`"), - ("/nitro", "`Генерирует Discord Nitro 🎁`"), - ("/chat", "`Спросить у ChatGPT 🤔`") - ] - - nsfw_commands_list = [ - ("/waifu", "`18+ картинки / GIF` 🍑"), - ("/blowjob", "`18+ картинки / GIF` 🍆"), - ("/trap", "`18+ картинки / GIF` 🚻"), - ("/neko", "`18+ картинки / GIF` 😺"), - ("/sex", "`18+ картинки / GIF` 🍌"), - ("/solo", "`18+ картинки / GIF` 👄"), - ] - - embed = disnake.Embed( - title="Все мои команды 😊", - color=0x7788ff - ) - embed.set_footer(text="Polina bot © 2023 Все права защищены 🖋️") - - admin_commands_field = "" - for command_tuple in adm_commands_list: - command_name, description = command_tuple - admin_commands_field += f"`{command_name: <20}` {description}\n" - - normal_commands_field = "" - for command_tuple in normal_commands_list: - command_name, description = command_tuple - normal_commands_field += f"`{command_name: <20}` {description}\n" - - nsfw_commands_field = "" - for command_tuple in nsfw_commands_list: - command_name, description = command_tuple - nsfw_commands_field += f"`{command_name: <20}` {description}\n" - - if admin_commands_field: - embed.add_field(name="Команды для администраторов 👑", value=admin_commands_field, inline=False) - if normal_commands_field: - embed.add_field(name="Обычные команды 🧑‍💻", value=normal_commands_field, inline=False) - if nsfw_commands_field: - embed.add_field(name="NSFW 18+ команды 🔞", value=nsfw_commands_field, inline=False) - - await ctx.send(embed=embed, ephemeral=True) - - - - - @commands.slash_command(name='profile', description='Узнать свою статистику') async def profile(ctx, member:disnake.Member):