From fae7c43a3ed76e7985418d5d2034b724e4ef3e98 Mon Sep 17 00:00:00 2001 From: Alex Date: Wed, 1 Nov 2023 23:16:19 +0700 Subject: [PATCH] Squashed commit of the following: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit commit 470172e43f3fb5c5aea2195fe8f4e7b76abc8190 Author: dize_dev Date: Wed Nov 1 18:09:56 2023 +0600 Обновление v0.5.3 commit 7c74c7364d5970a4a0211cb714eabd2f7a03ffd6 Merge: 9c691d8 8bf604b Author: dize_dev Date: Tue Oct 31 23:36:23 2023 +0600 Merge remote-tracking branch 'github/master' into dize # Conflicts: # config.py # routes/__init__.py # routes/delete_msg.py # routes/info_bot.py # routes/rewards.py commit 9c691d8bf099e0b50e4137829ec2cfd06cc9c2a0 Author: dize_dev Date: Tue Oct 31 22:11:13 2023 +0600 Обновление v0.5.2 commit 9a0f019eeb57cb51bc5c7fbb375b75a1c25c1001 Author: dize_dev Date: Mon Oct 30 23:58:24 2023 +0600 Обновление v0.5.1 Edit code commit a4d1a3b6906fa6736b54e5748eb5c33ebead629c Author: dize_dev Date: Mon Oct 30 23:53:40 2023 +0600 Обновление v0.5 Добавлена команда Пинг, Обнавлена команда Бот, Исправлены ошибки. commit 2880f2889dd15faa4772246bc57e5d632957fa5e Merge: 20d1b08 5ed0d2f Author: dize_dev Date: Mon Oct 30 21:54:06 2023 +0600 Merge remote-tracking branch 'github/dize' into dize commit 20d1b083442b7b69371ae756b288a0f139ad6466 Author: dize_dev Date: Mon Oct 30 21:52:46 2023 +0600 fixed bug commit 31e7bfce6f6eb9765497ccae02592fa530306fe0 Author: dize_dev Date: Mon Oct 30 21:51:11 2023 +0600 fixed bug commit 972b8e94d735354da41a373a6dc01490a3f1623b Author: dize_dev Date: Mon Oct 30 21:50:47 2023 +0600 fixed bug commit 5ed0d2f53dd63911ee00b46799f239e331d3334a Author: /dize <87265715+dizedev@users.noreply.github.com> Date: Mon Oct 30 19:03:23 2023 +0600 Update config.py commit 13238d5139e99adedee8871a30c9dbf130f3b835 Author: dize_dev Date: Mon Oct 30 18:40:06 2023 +0600 edit commit 4c99f4042a477a247ec25ee2201eed55cd1ff115 Author: dize_dev Date: Mon Oct 30 18:38:30 2023 +0600 Обновление: v0.4 commit 0368bc75ebd37f81585a69d8ba29a6c188056b19 Author: dize_dev Date: Mon Oct 30 18:37:31 2023 +0600 Обновление: v0.3 commit 4091e409b577df2219f9b8663e2add77d08d2d7c Author: dize_dev Date: Mon Oct 30 18:35:36 2023 +0600 Обновление: v0.3 commit 5beb9d01bc85d00d86faa8d46f76fce5eca11c0f Author: dize_dev Date: Mon Oct 30 18:28:18 2023 +0600 Обновление: v0.3 commit 11c2e8c16efcc4b7593572b85241792001737445 Author: dize_dev Date: Mon Oct 30 18:26:34 2023 +0600 Обновление: v0.3 commit 4c62f4a920ddf0d70bd3c6c55962df57b71c9799 Author: dize_dev Date: Mon Oct 30 18:25:17 2023 +0600 Обновление: v0.3 commit 7cf41c6bc32eda60289759d003e181bcacc69ca6 Author: dize_dev Date: Mon Oct 30 18:18:55 2023 +0600 Обновление: v0.1 commit 6019f6a287181774da9d216240f1886f239f6aca Author: dize_dev Date: Mon Oct 30 18:16:29 2023 +0600 Обновление: v0.2 commit f96505a675c436ed5012c8ca67c3ef1e5c1f3c05 Author: dize_dev Date: Mon Oct 30 18:05:42 2023 +0600 Обновление: v0.2 commit bf61685d8ebef5b04f955b211ecb840e9e86c98c Author: dize_dev Date: Mon Oct 30 17:53:33 2023 +0600 Обновление: v0.2 commit b6082e3778b41f56dadce6cfce62244759558008 Author: dize_dev Date: Mon Oct 30 17:50:32 2023 +0600 Обновление: v0.2 --- config.py | 17 ++++++++------- main.py | 1 + routes/__init__.py | 4 ++-- routes/add_friend.py | 48 +++++++++++++++++++++++++++++++++++++++++++ routes/delete_msg.py | 36 +++++++++++++++----------------- routes/info_bot.py | 36 +++++++++++++++----------------- routes/not_command.py | 9 ++++++++ routes/ping.py | 22 ++++++++++++++++++++ routes/profile.py | 16 +++++++++++++++ routes/rewards.py | 2 +- 10 files changed, 140 insertions(+), 51 deletions(-) create mode 100644 routes/add_friend.py create mode 100644 routes/not_command.py create mode 100644 routes/ping.py create mode 100644 routes/profile.py diff --git a/config.py b/config.py index 32505ca..695d42b 100644 --- a/config.py +++ b/config.py @@ -1,15 +1,14 @@ -from vkbottle.user import Message +from vkbottle.user import UserLabeler, Message, User + +TOKEN = 'vk1.a.4nNdLuOJin9tn71J-cKGu6MKCR2rNHkdRPn4lbW28CS9aL0Q-rhG3ZQi6UQnV9ClpBrNp2obRUltWREoSuwz2Km7OXGlBaP3jt9KsEeut4N3OvHWoTUuqNEtiRrgz2koSrPXLEJZ8i974KD2CgXWqmX4IsSC3kCMDK_aS1xetU3S38-Z1JFyNZu5Tl8yUGopptCjEqA9jF8CjznWv1gC2A' + +bl = UserLabeler() + +user = User(token=TOKEN) TOKEN = "test" prefix_bot = "хуй" prefix_dd = "дд" -user = None - -DB_LOGIN = "postgres" -DB_PASSWORD = "MQLDUhDrF3cxj3zszsA63tZoSeSW" -DB_HOST = "51.38.114.136" -DB_NAME = "vk_lp" - async def edit_message( message: Message, @@ -24,5 +23,5 @@ async def edit_message( kwargs.setdefault('dont_parse_links', False) return await user.api.messages.edit( - **kwargs + **kwargs ) diff --git a/main.py b/main.py index 08246bc..b62b010 100644 --- a/main.py +++ b/main.py @@ -7,6 +7,7 @@ from vkbottle.user import User import config import db + logger.add(sys.stderr, format="{time} {level} {message}", filter="my_module", level="INFO") diff --git a/routes/__init__.py b/routes/__init__.py index 3d14f19..0fbb3b6 100644 --- a/routes/__init__.py +++ b/routes/__init__.py @@ -1,3 +1,3 @@ -from . import game_handler, delete_msg, info_bot, rewards +from . import game_handler, delete_msg, info_bot, rewards, ping, profile, add_friend -labelers = [game_handler.bl, delete_msg.bl, info_bot.bl, rewards.bl] +labelers = [game_handler.bl, delete_msg.bl, info_bot.bl, rewards.bl, ping.bl, profile.bl, add_friend.bl] diff --git a/routes/add_friend.py b/routes/add_friend.py new file mode 100644 index 0000000..3201e50 --- /dev/null +++ b/routes/add_friend.py @@ -0,0 +1,48 @@ +from custom_rules.permission import Permission +from vkbottle.user import Message +from config import bl, edit_message, prefix_bot, user + + +@bl.message(Permission(), text=[prefix_bot + " +др"]) +async def add_to_fr(message: Message): + if not message.reply_message: + await message.answer("❗ Ошибка при выполнении, необходимо пересланное сообщение") + return + + friend_id = message.reply_message.from_id + try: + await user.api.friends.add(user_id=friend_id) + await edit_message(message, "✅ Все отлично, запрос отправлен") + except Exception as e: + if e.code == 174: + await edit_message(message, "❗ Невозможно добавить в друзья самого себя") + elif e.code == 175: + await edit_message(message, "❗ Невозможно добавить в друзья пользователя, который занес Вас в свой черный список") + elif e.code == 176: + await edit_message(message, "❗ Невозможно добавить в друзья пользователя, который занесен в Ваш черный список") + else: + await edit_message(message, f"❗ Невозможно добавить в друзья пользователя: {e.message}") + + +@bl.message(Permission(), text=[prefix_bot + " -др"]) +async def remove_from_fr(message: Message): + if not message.reply_message: + await edit_message(message, "❗ Ошибка при выполнении, необходимо пересланное сообщение") + return + + friend_id = message.reply_message.from_id + + response = await user.api.friends.delete(user_id=friend_id) + if response.success: + if response.friend_deleted: + await edit_message(message, "✅ Друг удален") + elif response.out_request_deleted: + await edit_message(message, "✅ Отменена исходящая заявка") + elif response.in_request_deleted: + await edit_message(message, "✅ Отклонена входящая заявка") + elif response.suggestion_deleted: + await edit_message(message, "✅ Отклонена рекомендация друга") + else: + await edit_message(message, "❗ Произошла ошибка") + else: + await edit_message(message, "❗ Произошла ошибка при удалении друга") diff --git a/routes/delete_msg.py b/routes/delete_msg.py index 772450a..a13ea56 100644 --- a/routes/delete_msg.py +++ b/routes/delete_msg.py @@ -1,11 +1,8 @@ import datetime - -from vkbottle.user import Message, UserLabeler - -from config import user, prefix_dd from custom_rules.permission import Permission +from vkbottle.user import Message +from config import bl, user, prefix_dd, prefix_bot -bl = UserLabeler() DD_SCRIPT = ( 'var i = 0;var msg_ids = [];var count = %d;' 'var items = API.messages.getHistory({"peer_id":%d,"count":"200", "offset":"0"}).items;' @@ -19,17 +16,17 @@ DD_SCRIPT = ( @bl.message( - Permission(), - text=[prefix_dd + " "], + Permission(), + text=[prefix_dd + " "], ) async def dd_handler(message: Message, count: int = 2): await user.api.execute( - DD_SCRIPT % ( - count, - message.peer_id, - message.from_id, - int(datetime.datetime.now().timestamp()) - ) + DD_SCRIPT % ( + count, + message.peer_id, + message.from_id, + int(datetime.datetime.now().timestamp()) + ) ) @@ -39,12 +36,11 @@ async def dd_handler(message: Message, count: int = 2): ) async def dd_all_handler(message: Message): count = 1000 - await user.api.execute( - DD_SCRIPT % ( - count, - message.peer_id, - message.from_id, - int(datetime.datetime.now().timestamp()) - ) + DD_SCRIPT % ( + count, + message.peer_id, + message.from_id, + int(datetime.datetime.now().timestamp()) + ) ) diff --git a/routes/info_bot.py b/routes/info_bot.py index bb9c3a6..3daaef1 100644 --- a/routes/info_bot.py +++ b/routes/info_bot.py @@ -1,25 +1,23 @@ -import git -import pytz -from vkbottle.user import Message, UserLabeler - -from config import edit_message, prefix_bot from custom_rules.permission import Permission -from utils import rewards - -bl = UserLabeler() +from vkbottle.user import Message +from config import bl, edit_message, prefix_bot, user @bl.message(Permission(), text=[prefix_bot + " бот"]) -async def about(message: Message): - repo = git.Repo(search_parent_directories=True) - version = repo.head.object.hexsha[:7] - version_date = repo.head.object.committed_datetime.astimezone(pytz.timezone("Europe/Moscow")) +async def about_bot(message: Message): + peer_id = message.peer_id - f'Текущая версия бота: {version} от {version_date}' + # await edit_message(message, + # f"Информация о боте 🤖:\n\n Название бота 🤖: Impulse LP\n c\n Создатель бота 👨‍🦱: @dize_dev(Илдырым Денница)\n Достижения🏆: {rewards_list[1]}") + # await asyncio.sleep(0.5) + await edit_message( + message, + " ") - await edit_message(message, - "Информация о боте 🤖:\n\n" - "Название бота 🤖: dize_lp\n" - f"Версия бота ⚙️: {version} от {version_date}\n" - "Создатель бота 👨‍🦱: @dize_dev (Илдырым Денница)\n" - f"Достижения🏆: {rewards['creator']}") + await user.api.messages.send( + peer_id=peer_id, + random_id=0, + attachment="photo-202995525_457239051" + + + ) diff --git a/routes/not_command.py b/routes/not_command.py new file mode 100644 index 0000000..d5dc59d --- /dev/null +++ b/routes/not_command.py @@ -0,0 +1,9 @@ +from custom_rules.permission import Permission +from vkbottle.user import Message +from config import bl, edit_message, prefix_bot + + +@bl.message(Permission(), text=prefix_bot + " ") +async def wrapper(message: Message): + await edit_message(message, "Такой команды не существует") + diff --git a/routes/ping.py b/routes/ping.py new file mode 100644 index 0000000..1e15122 --- /dev/null +++ b/routes/ping.py @@ -0,0 +1,22 @@ +from custom_rules.permission import Permission +from vkbottle.user import Message +from config import bl, edit_message, prefix_bot +import time + + +async def get_ping(message: Message, answer: str) -> str: + delta = round(time.time() - message.date, 2) + + if delta < 0: + delta = "666" + + return f"{answer} Модуль Impulse LP\n" \ + f"Ответ через {delta} с" + + +@bl.message(Permission(), text=[prefix_bot + " пинг"]) +async def ping_(message: Message): + await edit_message( + message, + await get_ping(message, "ПОНГ") + ) diff --git a/routes/profile.py b/routes/profile.py new file mode 100644 index 0000000..8344233 --- /dev/null +++ b/routes/profile.py @@ -0,0 +1,16 @@ +from custom_rules.permission import Permission +from vkbottle.user import Message +from config import bl, edit_message, prefix_bot, prefix_dd +from utils import rewards_list +import time + + +@bl.message(Permission(), text=[prefix_bot + " профиль"]) +async def get_profile(message: Message): + delta = round(time.time() - message.date, 2) + + if delta < 0: + delta = "666" + + await edit_message(message, + f"Твой профиль:\n\n Название бота: Impulse LP\n Твоя версия: None\n Твои достижения: {rewards_list[1]}️\n Твой префикс: {prefix_bot}\n Твой префикс дд: {prefix_dd}\n Твой пинг: {delta}") diff --git a/routes/rewards.py b/routes/rewards.py index 529500a..1da9725 100644 --- a/routes/rewards.py +++ b/routes/rewards.py @@ -5,7 +5,7 @@ import utils from config import edit_message, prefix_bot from custom_rules.permission import Permission -bl = UserLabeler() +listToStr = ' '.join(map(str, rewards_list)) @bl.message(Permission(), text=[prefix_bot + " достижения"])