Помогите сделать команду для выдачи варна

Добро пожаловать!

Зарегистрировавшись у нас, вы сможете обсуждать, делиться и отправлять личные сообщения другим участникам нашего сообщества.

Зарегистрироваться!
Заблокированный
Регистрация
13 Авг 2024
Сообщения
45
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки. Мы не несем ответственности за действия пользователя вне форума.
Здравствуйте. Пишу своего чат менеджера.
Помогите пожалуйста!
Мне нужна команда /warn, которая будет выдавать предупреждение пользователю в беседе.
/warn - Пользователь получил первое предупреждение, и так до 3 предупреждений, после чего кик.

 
Пользователь
Регистрация
13 Июл 2023
Сообщения
14
Бро, попробуй у чата гпт или копилота просить. Тебе нужно просто реализовать обработку команды, проверку админ ли юзер, выдача Варна и запись его в бд на юзера, сообщение о Варне/лог варна
 
Пользователь
Регистрация
17 Июл 2024
Сообщения
100
Здравствуйте. Пишу своего чат менеджера.
Помогите пожалуйста!
Мне нужна команда /warn, которая будет выдавать предупреждение пользователю в беседе.
/warn - Пользователь получил первое предупреждение, и так до 3 предупреждений, после чего кик.

Установка библиотеки Payton
pip install vkbottle
Python:
from vkbottle.bot import Bot, Message
from vkbottle.types import GroupEventType, MessageEvent
from vkbottle.modules import logger

# Токен группы ВКонтакте
BOT_TOKEN = "Token 🫂"

# Словарь для хранения предупреждений пользователей
warnings = {}

# Инициализация бота
bot = Bot(token=BOT_TOKEN)

@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]"))  # Преобразуем user_id в int

    # Если пользователя еще нет в списке предупреждений, добавляем
    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)

# Запуск бота
if __name__ == "__main__":
    bot.run_forever()


Удачи братуха tg/fast_ejje777
 
Пользователь
Регистрация
24 Дек 2024
Сообщения
86
Установка библиотеки Payton
pip install vkbottle
Python:
from vkbottle.bot import Bot, Message
from vkbottle.types import GroupEventType, MessageEvent
from vkbottle.modules import logger

# Токен группы ВКонтакте
BOT_TOKEN = "Token 🫂"

# Словарь для хранения предупреждений пользователей
warnings = {}

# Инициализация бота
bot = Bot(token=BOT_TOKEN)

@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]"))  # Преобразуем user_id в int

    # Если пользователя еще нет в списке предупреждений, добавляем
    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)

# Запуск бота
if __name__ == "__main__":
    bot.run_forever()


Удачи братуха tg/fast_ejje777
OFFTOP

бля чувак иди вскройся нахуй, как ты проверяешь warns через <? меньше трёх - кикаешь? где сохранение и загрузка warnings

 
Пользователь
Регистрация
13 Июл 2023
Сообщения
14
Установка библиотеки Payton
pip install vkbottle
Python:
from vkbottle.bot import Bot, Message
from vkbottle.types import GroupEventType, MessageEvent
from vkbottle.modules import logger

# Токен группы ВКонтакте
BOT_TOKEN = "Token 🫂"

# Словарь для хранения предупреждений пользователей
warnings = {}

# Инициализация бота
bot = Bot(token=BOT_TOKEN)

@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]"))  # Преобразуем user_id в int

    # Если пользователя еще нет в списке предупреждений, добавляем
    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)

# Запуск бота
if __name__ == "__main__":
    bot.run_forever()


Удачи братуха tg/fast_ejje777
Бля, ты идиот? Даёшь код с нейронки так ещё и говно полное. Глобал переменные, хранение варнов в словаре и хуева куча говна
 
Пользователь
Регистрация
17 Июл 2024
Сообщения
100
Исправил

Python:
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]"))  # Преобразуем user_id в int

    # Если пользователя еще нет в списке предупреждений для этой беседы, добавляем
    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()

Создавайте файл warnings.json
Чтобы сохранить предупреждение этот файл
 
Пользователь
Регистрация
13 Июл 2023
Сообщения
14
Заблокированный
Регистрация
13 Авг 2024
Сообщения
45
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки. Мы не несем ответственности за действия пользователя вне форума.
Исправил

Python:
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]"))  # Преобразуем user_id в int

    # Если пользователя еще нет в списке предупреждений для этой беседы, добавляем
    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()

Создавайте файл warnings.json
Чтобы сохранить предупреждение этот файл
from vkbottle.bot import Bot, Message
ModuleNotFoundError: No module named 'vkbottle'
 
Заблокированный
Регистрация
13 Авг 2024
Сообщения
45
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки. Мы не несем ответственности за действия пользователя вне форума.
Такс, написал. Пишет:


error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
[end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for msgspec
Failed to build msgspec
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (msgspec)
 
Пользователь
Регистрация
13 Июл 2023
Сообщения
14
Такс, написал. Пишет:


error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
[end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for msgspec
Failed to build msgspec
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (msgspec)
Блять, ну в переводчике переведи и мозгами раскинь прочитав текст
 
Заблокированный
Регистрация
13 Авг 2024
Сообщения
45
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки. Мы не несем ответственности за действия пользователя вне форума.
ну я уже понял что нужно установить
 
Заблокированный
Регистрация
13 Авг 2024
Сообщения
45
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки. Мы не несем ответственности за действия пользователя вне форума.
Такс, написал. Пишет:


error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
[end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for msgspec
Failed to build msgspec
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (msgspec)
Блять, ну в переводчике переведи и мозгами раскинь прочитав текст
такая же ошибка, не знаю как решить, голова кругом идет и болит уже
 
Сверху