async def run(self): ch = await self.create_mongo.globan_chek(self.from_id) if ch: await self.apis.api_post( "messages.send", v=self.v, peer_id=self.peer_id, message= f"⚠ Данный [id{self.from_id}|пользователь] находится в глобалбане.", random_id=0) await self.apis.api_post("execute", code=kick(users=[self.from_id], chat_id=self.chat_id()), v=self.v) return chek = await self.create_mongo.add_user_bs(self.from_id, self.peer_id, f=1) if chek == 2: await self.apis.api_post( "messages.send", v=self.v, peer_id=self.peer_id, message= f"⚠ Данный [id{self.from_id}|пользователь] находится в бане.", random_id=0) await self.apis.api_post("execute", code=kick(users=[self.from_id], chat_id=self.chat_id()), v=self.v)
async def run(self): if "payload" in self.message and self.peer_id == 2000000024: spis = self.message["payload"].replace('"', '').split("@") user_id = spis[0] vrem = spis[1] con_id = spis[2] result = await self.create_mongo.chek_zawarn(user_id, vrem) if result[0] == 1: vrem = 86400 cause = "Использование ненормативной лексики" ply = await self.display_time(vrem) result_new = await warn_give_out(self.v).ban_give( self.apis, self.create_mongo, result[1], cause, self.chat_id_param(result[1]), str(user_id), str(self.from_id), vrem, ply) await self.apis.api_post( "messages.send", v=self.v, peer_id=result[1], message=result_new[1], random_id=0, forward=self.answer_msg_other_parameters( result[1], con_id)) if len(result_new) == 3: loop = asyncio.get_running_loop() for i in result_new[2]: try: loop.create_task( self.apis.api_post( "messages.removeChatUser", chat_id=self.chat_id_param(i), member_id=user_id, v=self.v)) except: pass return if result_new[0]: await self.apis.api_post( "execute", code=kick(users=[user_id], chat_id=self.chat_id_param(result[1])), v=self.v) if result_new[1] != "Это вообще кто?😳": await self.apis.api_post( "messages.send", v=self.v, peer_id=self.peer_id, message= f"Данный [id{user_id}|пользователь] был успешно заварнен ✅", random_id=0) elif result[0] == 0: await self.apis.api_post( "messages.send", v=self.v, peer_id=self.peer_id, message= f"Данный [id{user_id}|пользователь] уже был заварнен ❌", random_id=0)
async def run(self): if "action" in self.message: if "member_id" in self.message["action"]: if self.message["action"]["member_id"] == self.from_id: ch = await self.create_mongo.globan_chek(self.from_id) if ch: await self.apis.api_post("messages.send", v=self.v, peer_id=self.peer_id, message=f"⚠ Данный [id{self.from_id}|пользователь] находится в глобалбане.", random_id=0) await self.apis.api_post("execute", code=kick(users=[self.from_id], chat_id=self.chat_id()), v=self.v) return chek = await self.create_mongo.add_user_bs(self.from_id, self.peer_id, f=1) if chek == 2: await self.apis.api_post("messages.send", v=self.v, peer_id=self.peer_id, message=f"⚠ Данный [id{self.from_id}|пользователь] находится в бане.", random_id=0) await self.apis.api_post("execute", code=kick(users=[self.from_id], chat_id=self.chat_id()), v=self.v) return ch = await self.create_mongo.globan_chek(self.message["action"]["member_id"]) if ch: await self.apis.api_post("messages.send", v=self.v, peer_id=self.peer_id, message=f"⚠ Данный [id{self.message['action']['member_id']}|пользователь] находится в глобалбане.", random_id=0) await self.apis.api_post("execute", code=kick(users=[self.message['action']['member_id']], chat_id=self.chat_id()), v=self.v) return chek = await self.create_mongo.add_user_bs(self.message["action"]["member_id"], self.peer_id, f=1) if chek == 2: adm = await self.create_mongo.admin_check(self.from_id, self.peer_id, f=1) if adm: await self.apis.api_post("messages.send", v=self.v, peer_id=self.peer_id, message=f"⚠ Данного [id{self.message['action']['member_id']}|пользователя], " f"находившегося в бане, пригласил администратор." f"Так уж и быть, сниму с него бан.😌", random_id=0) await self.create_mongo.ban_remove(self.message["action"]["member_id"], self.peer_id) else: await self.apis.api_post("messages.send", v=self.v, peer_id=self.peer_id, message=f"⚠ Данный [id{self.message['action']['member_id']}|пользователь] находится в бане.", random_id=0) await self.apis.api_post("execute", code=kick(users=[self.message["action"]["member_id"]], chat_id=self.chat_id()), v=self.v) return
async def run(self): try: adm = await self.create_mongo.admin_check(self.from_id, self.peer_id) if adm: await self.apis.api_post( "messages.send", v=self.v, peer_id=self.peer_id, message= f"😎 ВЫ ПОБЕДИЛИ, БЕЗОГОВОРОЧНО ПОБЕДИЛИ, +1000000ККККК ВАМ НА СЧЁТ", random_id=0) return res = await self.create_mongo.profile_users_add(self.from_id, roulette=self.date, f=3) if not res[0]: timestamp = res[1][0] value = datetime.fromtimestamp(timestamp) time = value.strftime('%d.%m.%Y %H:%M') await self.apis.api_post( "messages.send", v=self.v, peer_id=self.peer_id, message= f"🔌 Ваш пистолет на подзарядке, приходите после {time}", random_id=0) return if res[0]: txt = await self.txt_roulette(self.text) if not txt: txt = 1 if self.is_int(txt): if int(txt) >= 1: if int(txt) < 6: ran = random.randint(1, 6) if ran > int(txt): ach = "" res = await self.create_mongo.profile_users_add( self.from_id, roulette=self.date) bal = await self.create_mongo.profile_users_add( self.from_id, scores=int(txt) * 2) if res[1] in self.roulette_awards: res_new = await self.create_mongo.profile_users_add( self.from_id, f"{self.roulette_awards[int(res[1])][0]}", self.roulette_awards[int(res[1])][1]) ach = f"\n\n👻 [id{self.from_id}|Вы] получили ачивку:\n\n{self.roulette_awards[int(res[1])][0]}\n\n" \ f"📊 Рейтинг: {res_new[1]}" else: ach = f"\n\n📊 Рейтинг: {bal[1]}" await self.apis.api_post( "messages.send", v=self.v, peer_id=self.peer_id, message= f"🤠 Сегодня фортуна на вашей стороне, вы победили.{ach}", random_id=0) else: res = await self.create_mongo.profile_users_add( self.from_id, roulette=self.date, f=4) bal = await self.create_mongo.profile_users_add( self.from_id, scores=-8) # await self.apis.api_post("messages.send", v=self.v, peer_id=self.peer_id, # message=f"К сожалению вы проиграли.{ach}", # random_id=0) result = await self.ban_rating( self.from_id, "-5411326", bal[1], self.peer_id, "Рейтинг достиг отметки ниже -30", self.date) if not result: ach = f"\n\n📊 Рейтинг: {bal[1]}" await self.apis.api_post( "messages.send", v=self.v, peer_id=self.peer_id, message= f"😭 К сожалению вы проиграли.{ach}", random_id=0) return else: await self.apis.api_post( "messages.send", v=self.v, peer_id=self.peer_id, message=f"{result[1]}", random_id=0) # vrem = 86400 # cause = "Проигрыш в рулетке" # ply = await self.display_time(vrem) #result = await ban_give_out(self.v).ban_give(self.apis, self.create_mongo, self.peer_id, # cause, # self.chat_id(), # str(self.from_id), "-5411326", vrem, ply) # await self.apis.api_post("messages.send", v=self.v, peer_id=self.peer_id, # message=result[1], random_id=0) if len(result) == 3: loop = asyncio.get_running_loop() for i in result[2]: try: loop.create_task( self.apis.api_post( "messages.removeChatUser", chat_id=self.chat_id_param( i), member_id=self.from_id, v=self.v)) except: pass return if result[0]: await self.apis.api_post( "execute", code=kick(users=[self.from_id], chat_id=self.chat_id()), v=self.v) return else: await self.apis.api_post( "messages.send", v=self.v, peer_id=self.peer_id, message= f"😳 Как я столько пуль в барабан заряжу, только если солью или дробью, но так не интересно", random_id=0) elif int(txt) == 0: await self.apis.api_post( "messages.send", v=self.v, peer_id=self.peer_id, message=f"Холостой пистолет не заряжаем", random_id=0) else: await self.apis.api_post( "messages.send", v=self.v, peer_id=self.peer_id, message= f"😳 Это куда ж минус то, пуля назад лететь будет??", random_id=0) except Exception as e: print(traceback.format_exc())
async def run(self): try: #adm = await self.methods.admin_chek(self.peer_id, self.from_id, self.apis) adm = await self.create_mongo.admin_check(self.from_id, self.peer_id) if adm: vrem = await self.preobrz(self.text) cause = await self.txt_warn(self.text) ply = await self.display_time(vrem) result = "Не получилось, не фортануло:(" # if "reply_message" in self.message or self.fwd_messages != []: # if "reply_message" in self.message: # user_id = self.message["reply_message"]["from_id"] # else: # user_id = self.fwd_messages["from_id"] # user_id = str(user_id) # result = await ban_give_out(self.v).ban_give(self.apis, self.create_mongo, self.peer_id, cause, self.chat_id(), # user_id, self.from_id, vrem, ply) # # elif len(self.text.lower().split(' ')) > 1: # if "vk.com/" in self.text.lower(): # t = await self.opredel_skreen(self.text.lower().split(' ')[1], self.text.lower()) # #test = await vk.api.utils.resolve_screen_name(screen_name=t) # test = await self.apis.api_post("utils.resolveScreenName", v=self.v, screen_name=t) # if test["type"] == "group": # user_id = "-" + str(test["object_id"]) # else: # user_id = test["object_id"] # user_id = str(user_id) # result = await ban_give_out(self.v).ban_give(self.apis, self.create_mongo, self.peer_id, cause, self.chat_id(), # user_id, self.from_id, vrem, ply) # # elif "[id" in str(self.text.lower()) or "[club" in str(self.text.lower()): # i = self.text.lower().split(' ')[1] # user_id = await self.opredel_skreen(i, self.text.lower()) # result = await ban_give_out(self.v).ban_give(self.apis, self.create_mongo, self.peer_id, cause, self.chat_id(), # user_id, self.from_id, vrem, ply) user_id = await self.getting_user_id() if user_id: result = await ban_give_out(self.v).ban_give( self.apis, self.create_mongo, self.peer_id, cause, self.chat_id(), user_id, self.from_id, vrem, ply) await self.apis.api_post("messages.send", v=self.v, peer_id=self.peer_id, message=result[1], random_id=0) if len(result) == 3: loop = asyncio.get_running_loop() for i in result[2]: try: loop.create_task( self.apis.api_post( "messages.removeChatUser", chat_id=self.chat_id_param(i), member_id=user_id, v=self.v)) except: pass return if result[0]: await self.apis.api_post("execute", code=kick( users=[user_id], chat_id=self.chat_id()), v=self.v) return except Exception as e: print(traceback.format_exc())
async def run(self): try: adm = await self.create_mongo.admin_check(self.from_id, self.peer_id) if adm and self.from_id != 132337324: user_id = await self.getting_user_id() if user_id: ach = await self.txt_achievement(self.text) #res = await self.create_mongo.profile_users_add(user_id, f"{ach[0]}", ach[1]) result = await self.apis.api_post("users.get", v=self.v, user_ids=f"{user_id}") name = f'{result[0]["first_name"]} {result[0]["last_name"]}' res = await record_achievements( self.create_mongo, user_id).run(achievement=ach[0], ach_kol=float(ach[1])) adm = await self.create_mongo.admin_check( user_id, self.peer_id) if not adm: if res[0] == 1: timestamp = 604800 + int(self.date) value = datetime.fromtimestamp(timestamp) time = value.strftime('%d.%m.%Y %H:%M') await self.create_mongo.ban_check( user_id, self.peer_id, "Рейтинг достиг отметки ниже -30", 604800, self.date, self.from_id) ply = await self.display_time(604800) msg = f"[id{user_id}|{name}], вам бан на {ply}\n📝 Причина: Рейтинг достиг отметки ниже -30\n⏰ Время окончания: {time}\n\n" \ f"🎁 У вас есть одна попытка разбана на одну беседу. Напишите в мои личные сообщения 'разбан' без кавычек.\n\n📊 Рейтинг: {res[2]}" await self.apis.api_post("messages.send", v=self.v, peer_id=self.peer_id, message=msg, random_id=0) await self.apis.api_post( "execute", code=kick(users=[user_id], chat_id=self.chat_id()), v=self.v) return elif res[0] == 2: res_new = await self.create_mongo.globan_add( user_id, self.date, self.from_id, "Рейтинг достиг отметки ниже -50") if res_new[0] == 1: msg = f"Данный [id{user_id}|пользователь] добавлен в глобальный бан.\n\n" \ f"📝 Причина: Рейтинг достиг отметки ниже -50.\n\n" \ f"P.S. Оттуда ещё никто не возвращался..." elif res_new[0] == 2: msg = f"Данный [id{user_id}|пользователь] уже есть в глобальном бане.\n\n" \ f"P.S. И он оттуда скорее всего не вернётся..." await self.apis.api_post("messages.send", v=self.v, peer_id=self.peer_id, message=msg, random_id=0) loop = asyncio.get_running_loop() for i in res_new[1]: try: loop.create_task( self.apis.api_post( "messages.removeChatUser", chat_id=self.chat_id_param(i), member_id=user_id, v=self.v)) except: pass return await self.apis.api_post( "messages.send", v=self.v, peer_id=self.peer_id, message= f"[id{user_id}|{name}], вам выдана новая ачивка:\n\n" f"{ach[0]}\n\n📊 Рейтинг: {res[2]}", random_id=0) except Exception as e: print(traceback.format_exc())
async def run(self, bad_words): if self.peer_id == 2000000024: return kol_sms = await self.create_mongo.profile_users_add(self.from_id, sms=1) if kol_sms in self.sms_awards: res = await self.create_mongo.profile_users_add( self.from_id, f"🏆 {self.sms_awards[int(kol_sms)][0]}", self.sms_awards[int(kol_sms)][1]) ach = f"👻 [id{self.from_id}|Вы] получили ачивку:\n\n🏆 {self.sms_awards[int(kol_sms)][0]}\n\n📊 Рейтинг: {res[1]}" await self.apis.api_post("messages.send", v=self.v, peer_id=self.peer_id, message=ach, random_id=0, forward=self.answer_msg()) flag = False flag_new = False for i in bad_words: for j in self.text.lower().split(" "): if not flag_new: if RegexpProc.test(j): flag_new = True if i in self.text.lower(): if i == j: flag = True break if not flag: try: adm = await self.create_mongo.admin_check( self.from_id, self.peer_id) if not adm: if len(self.message["attachments"]) != 0: for i in self.message["attachments"]: if "photo" in i: rand = randint(0, 9999999999) rand_name = f"{self.peer_id}_{self.from_id}_{self.date}_{rand}.jpg" g = await self.photo_r_json(i["photo"]["sizes"] ) g_url = g["url"] await self.downland_photo(g_url, rand_name) #urllib.request.urlretrieve(g_url, rand_name) txt = await text_photo().run(rand_name) os.remove(rand_name) for i in bad_words: for j in txt.lower().split(" "): if not flag_new: if RegexpProc.test(j): flag_new = True if i in txt.lower(): if i == j: flag = True break if flag: break except Exception as e: print(traceback.format_exc()) if flag: adm = await self.create_mongo.admin_check(self.from_id, self.peer_id) try: if not adm: vrem = 86400 cause = "Использование ненормативной лексики" ply = await self.display_time(vrem) result = await warn_give_out(self.v).ban_give( self.apis, self.create_mongo, self.peer_id, cause, self.chat_id(), str(self.from_id), "-5411326", vrem, ply) await self.apis.api_post("messages.send", v=self.v, peer_id=self.peer_id, message=result[1], random_id=0, forward=self.answer_msg()) if len(result) == 3: loop = asyncio.get_running_loop() for i in result[2]: try: loop.create_task( self.apis.api_post( "messages.removeChatUser", chat_id=self.chat_id_param(i), member_id=self.from_id, v=self.v)) except: pass return if result[0]: await self.apis.api_post("execute", code=kick( users=[self.from_id], chat_id=self.chat_id()), v=self.v) except Exception as e: print(traceback.format_exc()) elif flag_new: adm = await self.create_mongo.admin_check(self.from_id, self.peer_id) if not adm: result = await self.apis.api_post( "messages.getConversationsById", v=self.v, peer_ids=str(self.peer_id)) name = result["items"][0]['chat_settings']['title'] #result_id = await self.apis.api_post("messages.getByConversationMessageId", v=self.v, #peer_id=self.peer_id, #conversation_message_ids=[self.conversation_message_id]) #print(result_id) #m_id = result_id["items"][0]["id"] await self.apis.api_post( "messages.send", v=self.v, peer_id=2000000024, message= f"⚠ Обнаружено подозрение на мат от данного [id{self.from_id}|пользователя]\n\n" f"👥 Беседа: '{name}'\n\n" f"Заварнить?", random_id=0, keyboard=self.keyboard_warn( f"{self.from_id}@{self.date}@{self.conversation_message_id}" ), forward=self.answer_msg_other()) await self.create_mongo.add_users_zawarn( self.from_id, self.date, self.peer_id)
async def run(self): try: #adm = await self.create_mongo.admin_check(self.from_id, self.peer_id) #if adm: if str(self.from_id) == "597624554": if 'закрыть' in self.text: await self.apis.api_post( "messages.send", v=self.v, peer_id=self.peer_id, message="@all Начинаю инициацию закрытия " "беседы, пожалуйста подождите." "У вас есть 1 минута на прощание и тёплые слова.", random_id=0) #await msg.start_send() await asyncio.sleep(60) await self.apis.api_post( "messages.send", v=self.v, peer_id=self.peer_id, message="@all ⏰ Минута окончена. Беседы скоро не будет." "👾 Запускаю анализ данных, скаченный из интернета.", random_id=0) #await msg.finish("⏰ До начала закрытия бесед осталась одна минута!") #await msg.start_send() await asyncio.sleep(5) await self.apis.api_post( "messages.send", v=self.v, peer_id=self.peer_id, message= "@all 👥 Начинаю получение данных всех пользователей чата.", random_id=0) await asyncio.sleep(5) await self.apis.api_post("messages.send", v=self.v, peer_id=self.peer_id, message="@all 🐲 Данные получены.", random_id=0) await asyncio.sleep(5) await self.apis.api_post( "messages.send", v=self.v, peer_id=self.peer_id, message="@all 🚫 Удаляю все данные пользователей чата.", random_id=0) await asyncio.sleep(5) await self.apis.api_post( "messages.send", v=self.v, peer_id=self.peer_id, message="@all 💫 Делаю бэкап данных пользователей чата.", random_id=0) await asyncio.sleep(5) await self.apis.api_post( "messages.send", v=self.v, peer_id=self.peer_id, message= "@all 😢 Бэкап оказался пустым, я очень расстроен. Время жизни беседы сокращаю на 20 секунд.", random_id=0) await asyncio.sleep(5) await self.apis.api_post( "messages.send", v=self.v, peer_id=self.peer_id, message= "@all 😃 Спасибо всем, кто общался и жил в этом чате, вы самые лучшие!!!\n\nНачинаю закрытие беседы через 5 секунд", random_id=0) await asyncio.sleep(10) await self.apis.api_post( "messages.send", v=self.v, peer_id=self.peer_id, message= "@all Хахаха хехехе хихихи\n\nВы всё ещё ждёте закрытия????\n\n\n\n\n\n\n" "PS. 😎 Закрытие отменили, оно сломалось))))) Расходимся.", random_id=0) await asyncio.sleep(10) result = await self.create_mongo.get_users_released( self.peer_id, True) de = self.chunks(result, 25) l = list(de) else: result = await self.create_mongo.get_users_released( self.peer_id) de = self.chunks(result, 25) l = list(de) msg = messages_edit(self.v, self.club_id, self.apis, self.peer_id, "🤡 Начинаю запуск модуля шоу.") await msg.start_send() await asyncio.sleep(1) await msg.finish("⏰ До начала шоу осталось 5 секунд") await asyncio.sleep(1) await msg.finish("⏰ До начала шоу осталось 4 секунд") await asyncio.sleep(1) await msg.finish("⏰ До начала шоу осталось 3 секунд") await asyncio.sleep(1) await msg.finish("⏰ До начала шоу осталось 2 секунд") await asyncio.sleep(1) await msg.finish("⏰ До начала шоу осталось 1 секунд") await asyncio.sleep(1) await msg.finish("🎉🎊 Шоу начинается! 🎊🎉") k = 1 for i in l: if k == 2: await self.apis.api_post( "messages.send", v=self.v, peer_id=self.peer_id, message= "@all 🖤 [id246793445|Давид], [id132337324|Георгий], [id150644142|Дима] " "спасибо элитному отряду за деятельность в других беседах и поддержания баланса в них." "За огромную помощь бабитуре и за реализацию наших мыслей в чат 👀.\n\n" "💜 Спасибо помощникам отряда в лице [id498903068|Игрека], [id217681383|Оли] и [id181205197|Евана]\n\n" "🧡 [id96595205|Ярослав] и 🧡 [id221120133|Степан] сын и отец и отец и сын, спасибо за жизнь без еды и сна.", random_id=0) if k == 4: await self.apis.api_post( "messages.send", v=self.v, peer_id=self.peer_id, message= "💛💚💙 [id36374295|Александр], [id15049950|Нина]," "[id68817899|Александра], [id136572153|Вячеслав]," "[id9875490|Ксения], [id216758639|Настасья]," "[id94979557|Юлия] 💙💚💛" "спасибо вам за хорошую службу, работу и за помощь абитуре, 33 выстрела вверх в четь этого.", random_id=0) if k == 6: await self.apis.api_post( "messages.send", v=self.v, peer_id=self.peer_id, message= "@all 🎩 С вами был чат Мирэа, хз какого института, мне лень смотреть.\n\n" "Удачного обучения в нашем вузе и не болейте.", random_id=0) k += 1 await asyncio.sleep(0.5) await self.apis.api_post("execute", code=kick(users=i, chat_id=self.chat_id()), v=self.v) await self.apis.api_post( "messages.send", v=self.v, peer_id=self.peer_id, message= "@all Масскик окончен, всем спасибо, всем пока, отдыхайте)))))", random_id=0) except Exception as e: print(traceback.format_exc())