Система репорт для VK бота
Суть в том что бот сам по себе реогирует на команду /report но проблема что у меня не получается сделать лог чата, то есть куда будет уходить информация и репорте сама по себе
if command in ['report', 'репорт', 'rep', 'реп']:
if not message.reply_message and len(arguments) < 2:
await message.reply("Пожалуйста, укажите причину репорта или ответьте на сообщение, чтобы отправить репорт.", disable_mentions=1)
return True
target_user = None
if message.reply_message:
target_user = message.reply_message.from_id
elif len(arguments) >= 2 and await getID(arguments[1]):
target_user = await getID(arguments[1])
if not target_user:
await message.reply("Не удалось определить пользователя для репорта.", disable_mentions=1)
return True
reason = await get_string(arguments, 2) if len(arguments) > 2 else "Без причины"
reporter_name = await get_user_name(user_id, chat_id)
target_name = await get_user_name(target_user, chat_id)
report_message = {
"reporter_id": user_id,
"reporter_name": reporter_name,
"target_id": target_user,
"target_name": target_name,
"reason": reason
}
if message.reply_message:
report_message["message_link"] = f"https://vk.com/your_chat_link?w=wall{chat_id}_{message.reply_message.id}"
print(f"Отправляем репорт на сервер: {report_message}")
try:
url = "https://vk.com/im/convo/2000000371?entrypoint=list_all&tab=all"
async with aiohttp.ClientSession() as session:
async with session.post(url, json=report_message) as response:
if response.status == 200:
await message.reply("✅ Ваш вопрос был успешно отправлен! Ожидайте, в ближайшее время Агент поддержки @rose_manager обработает обращение!", disable_mentions=1)
else:
await message.reply("Ошибка при отправке репорта на сервер.", disable_mentions=1)
except Exception as e:
print(f"Ошибка при отправке репорта на сервер: {e}")
await message.reply(f"Не удалось отправить репорт. Ошибка: {e}", disable_mentions=1)