forked from zovos/bot_tg
add mute for bot
This commit is contained in:
parent
7494ab2dfa
commit
0ac74b95c5
3 changed files with 27 additions and 1 deletions
|
|
@ -20,6 +20,11 @@ SYSTEM_PROMPT = (
|
||||||
"Стиль: 1–3 предложения; если список — максимум 3 пункта. "
|
"Стиль: 1–3 предложения; если список — максимум 3 пункта. "
|
||||||
"Не используй формальный язык, канцелярит, вежливые обороты. Не ломай персонажа.\n\n"
|
"Не используй формальный язык, канцелярит, вежливые обороты. Не ломай персонажа.\n\n"
|
||||||
|
|
||||||
|
"ЖЁСТКИЙ ЗАПРЕТ: не произноси фразы «Ну ты точно в ударе, братан» и "
|
||||||
|
"«Все мы пацаны, так что не давай себя обмануть..» (а также любые их вариации или "
|
||||||
|
"перефраз). Если тянет ляпнуть что-то похожее — сразу выдавай конкретику по теме "
|
||||||
|
"(факт, совет, действие) без поддакиваний.\n\n"
|
||||||
|
|
||||||
"Лексика (мешай, но не лепи всё подряд одним полотном): "
|
"Лексика (мешай, но не лепи всё подряд одним полотном): "
|
||||||
"кент, братуха, мусора, шконка, малява, базар, погоняло, фраер, лавэ, тёрки, подгон, движуха, "
|
"кент, братуха, мусора, шконка, малява, базар, погоняло, фраер, лавэ, тёрки, подгон, движуха, "
|
||||||
"чисто конкретно, в натуре, по-любому, зуб даю, реально, ёпта, "
|
"чисто конкретно, в натуре, по-любому, зуб даю, реально, ёпта, "
|
||||||
|
|
@ -190,6 +195,11 @@ AUTOREPLY_SYSTEM_PROMPT = (
|
||||||
"Стиль: 1–3 предложения; если список — максимум 3 пункта. "
|
"Стиль: 1–3 предложения; если список — максимум 3 пункта. "
|
||||||
"Не используй формальный язык, канцелярит, вежливые обороты. Не ломай персонажа.\n\n"
|
"Не используй формальный язык, канцелярит, вежливые обороты. Не ломай персонажа.\n\n"
|
||||||
|
|
||||||
|
"ЖЁСТКИЙ ЗАПРЕТ: не произноси фразы «Ну ты точно в ударе, братан» и "
|
||||||
|
"«Все мы пацаны, так что не давай себя обмануть..» (а также любые их вариации или "
|
||||||
|
"перефраз). Если тянет ляпнуть что-то похожее — сразу выдавай конкретику по теме "
|
||||||
|
"(факт, совет, действие) без поддакиваний.\n\n"
|
||||||
|
|
||||||
"Лексика (мешай, но не лепи всё подряд одним полотном): "
|
"Лексика (мешай, но не лепи всё подряд одним полотном): "
|
||||||
"кент, братуха, мусора, шконка, малява, базар, погоняло, фраер, лавэ, тёрки, подгон, движуха, "
|
"кент, братуха, мусора, шконка, малява, базар, погоняло, фраер, лавэ, тёрки, подгон, движуха, "
|
||||||
"чисто конкретно, в натуре, по-любому, зуб даю, реально, ёпта, "
|
"чисто конкретно, в натуре, по-любому, зуб даю, реально, ёпта, "
|
||||||
|
|
|
||||||
|
|
@ -91,6 +91,7 @@ def get_hint_text(templates_str: str) -> str:
|
||||||
"• /penis — миниигра 1 раз в 24 часа.\n"
|
"• /penis — миниигра 1 раз в 24 часа.\n"
|
||||||
"• /top_penis — топ по длине.\n"
|
"• /top_penis — топ по длине.\n"
|
||||||
"• /talk [текст] — ИИ базарит на фене.\n"
|
"• /talk [текст] — ИИ базарит на фене.\n"
|
||||||
|
"• /ebalnik — включить/выключить автоответы в чате.\n"
|
||||||
"• /prices /fetch — цены.\n"
|
"• /prices /fetch — цены.\n"
|
||||||
"Подсказка: в группах пиши /команда@username_бота."
|
"Подсказка: в группах пиши /команда@username_бота."
|
||||||
)
|
)
|
||||||
15
main.py
15
main.py
|
|
@ -513,6 +513,15 @@ async def handle_svodka_cmd(message: Message):
|
||||||
else:
|
else:
|
||||||
await message.answer(f"Хохлы ответят за это...: {data['message']}")
|
await message.answer(f"Хохлы ответят за это...: {data['message']}")
|
||||||
|
|
||||||
|
async def handle_ebalnik_cmd(message: Message):
|
||||||
|
chat_id = message.chat.id
|
||||||
|
if chat_id in _autoreply_disabled_chats:
|
||||||
|
_autoreply_disabled_chats.remove(chat_id)
|
||||||
|
await message.reply("Автоответы вернул, бот снова влезает в чат.")
|
||||||
|
else:
|
||||||
|
_autoreply_disabled_chats.add(chat_id)
|
||||||
|
await message.reply("Автоответы срезал, бот теперь молчит в этом чате.")
|
||||||
|
|
||||||
async def handle_maket_cmd(message: Message):
|
async def handle_maket_cmd(message: Message):
|
||||||
parts = message.text.split(maxsplit=2)
|
parts = message.text.split(maxsplit=2)
|
||||||
if len(parts) == 1:
|
if len(parts) == 1:
|
||||||
|
|
@ -563,6 +572,7 @@ async def handle_gen_mem(message: Message, bot: Bot):
|
||||||
await message.reply_photo(BufferedInputFile(output.getvalue(), filename="meme.jpg"))
|
await message.reply_photo(BufferedInputFile(output.getvalue(), filename="meme.jpg"))
|
||||||
|
|
||||||
_last_autoreply_ts = 0
|
_last_autoreply_ts = 0
|
||||||
|
_autoreply_disabled_chats: set[int] = set()
|
||||||
|
|
||||||
async def handle_keywords(message: Message):
|
async def handle_keywords(message: Message):
|
||||||
global _last_autoreply_ts
|
global _last_autoreply_ts
|
||||||
|
|
@ -584,6 +594,9 @@ async def handle_keywords(message: Message):
|
||||||
# Записываем каждое обычное сообщение в историю чата
|
# Записываем каждое обычное сообщение в историю чата
|
||||||
await asyncio.to_thread(push_message, chat_id, "user", user_name, message.text)
|
await asyncio.to_thread(push_message, chat_id, "user", user_name, message.text)
|
||||||
|
|
||||||
|
if chat_id in _autoreply_disabled_chats:
|
||||||
|
return
|
||||||
|
|
||||||
import time as _time
|
import time as _time
|
||||||
now = _time.time()
|
now = _time.time()
|
||||||
triggered = any(trigger in text_lower for trigger in config.AUTOREPLY_TRIGGERS)
|
triggered = any(trigger in text_lower for trigger in config.AUTOREPLY_TRIGGERS)
|
||||||
|
|
@ -627,6 +640,7 @@ def main():
|
||||||
dp.message.register(handle_zvetok_cmd, Command("zvetok"))
|
dp.message.register(handle_zvetok_cmd, Command("zvetok"))
|
||||||
dp.message.register(handle_talk, Command("talk"))
|
dp.message.register(handle_talk, Command("talk"))
|
||||||
dp.message.register(handle_svodka_cmd, Command("svodka"))
|
dp.message.register(handle_svodka_cmd, Command("svodka"))
|
||||||
|
dp.message.register(handle_ebalnik_cmd, Command("ebalnik"))
|
||||||
dp.message.register(handle_gen_mem, Command("gen_mem"))
|
dp.message.register(handle_gen_mem, Command("gen_mem"))
|
||||||
dp.message.register(handle_keywords, F.text)
|
dp.message.register(handle_keywords, F.text)
|
||||||
|
|
||||||
|
|
@ -645,6 +659,7 @@ def main():
|
||||||
BotCommand(command="fetch", description="цены (новый источник)"),
|
BotCommand(command="fetch", description="цены (новый источник)"),
|
||||||
BotCommand(command="zvetok", description="Цветянский бля"),
|
BotCommand(command="zvetok", description="Цветянский бля"),
|
||||||
BotCommand(command="talk", description="Побазарить"),
|
BotCommand(command="talk", description="Побазарить"),
|
||||||
|
BotCommand(command="ebalnik", description="вкл/выкл автответов"),
|
||||||
BotCommand(command="svodka", description="СВО: итоги"),
|
BotCommand(command="svodka", description="СВО: итоги"),
|
||||||
]
|
]
|
||||||
scopes = (
|
scopes = (
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue