import json
from vkbottle.bot import Bot, Message
BOT_TOKEN = "ваш_токен"
warnings = {}
WARNINGS_FILE = "warnings.json"
bot = Bot(token=BOT_TOKEN)
def load_warnings():
global warnings
try:
with open(WARNINGS_FILE, "r") as f:
warnings = json.load(f)
except FileNotFoundError:
warnings = {}
def save_warnings():
with open(WARNINGS_FILE, "w") as f:
json.dump(warnings, f)
@bot.on.message(text="/warn <user_id>")
async def warn_user(message: Message, user_id: str):
global warnings
chat_id = message.peer_id
user_id = int(user_id.strip("[id]"))
if chat_id not in warnings:
warnings[chat_id] = {}
if user_id not in warnings[chat_id]:
warnings[chat_id][user_id] = 0
warnings[chat_id][user_id] += 1
warn_count = warnings[chat_id][user_id]
if warn_count < 3:
await message.answer(
f"[id{user_id}|Пользователь] получил {warn_count} предупреждение. Всего 3 до кика."
)
else:
await bot.api.messages.remove_chat_user(chat_id=chat_id - 2000000000, user_id=user_id)
await message.answer(
f"[id{user_id}|Пользователь] получил 3 предупреждения и был удалён из беседы."
)
warnings[chat_id].pop(user_id)
save_warnings()
if __name__ == "__main__":
load_warnings()
bot.run_forever()