Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!

заявки вк help

Ноя
21
1
Пользователь
ищу скрипт который будет отвечать на заявки в разделе "обсуждения" как у shadow

OFFTOP

помогите далбаебу

 
Решение
Python:
import vk_api
import time
import re

TOKEN = "ТВОЙ_GROUP_TOKEN"
GROUP_ID = 123456789
TOPIC_ID = 1

vk_session = vk_api.VkApi(token=TOKEN)
vk = vk_session.get_api()

def check_application(text):
    text = text.lower()

    age = re.search(r"возраст[:\- ]*(\d+)", text)
    test_ready = re.search(r"(готов.*тест.*[:\- ]*(да|нет))|(да|нет)", text)

    if not age:
        return "Заявка отклонена: укажите возраст."

    if not test_ready:
        return "Заявка отклонена: ответьте, готовы ли пройти тест (да/нет)."

    age = int(age.group(1))
    answer = test_ready.group(2) if test_ready.group(2) else test_ready.group(3)

    if age < 14:
        return "Заявка отклонена: минимальный возраст 14."

    if answer == "нет":
        return...
Ноя
21
1
Пользователь
не нашел пример

но смотри, пользователь подает заявку, бот сверяет критерии возраст и онлайн и отвечает одобрено или отказано, если одобрено то ботт пишет в лс что заявка одобрено.

бот работает по пользовательскому токену
 
Янв
245
581
Продавец
но попробуй это

код:
import vk_api
import time
import re

TOKEN = "///"
GROUP_ID = ///
TOPIC_ID = /

vk_session = vk_api.VkApi(token=TOKEN)
vk = vk_session.get_api()

def check_application(text):
    age = re.search(r"возраст[:\- ]*(\d+)", text.lower())
    level = re.search(r"уровень[:\- ]*(\d+)", text.lower())
    nick = re.search(r"ник[:\- ]*(\w+)", text.lower())

    if not all([age, level, nick]):
        return "Заявка отклонена: заполнены не все пункты."

    age = int(age.group(1))
    level = int(level.group(1))

    if age < 14:
        return "Заявка отклонена: минимальный возраст 14."
    if level < 5:
        return "Заявка отклонена: нужен минимум 5 уровень."

    return "Заявка одобрена! Ожидайте дальнейшей информации."

checked_comments = set()

while True:
    comments = vk.board.getComments(
        group_id=GROUP_ID,
        topic_id=TOPIC_ID,
        count=100
    )["items"]

    for comment in comments:
        if comment["id"] in checked_comments:
            continue

        user_id = comment["from_id"]
        text = comment["text"]

        response = check_application(text)

        vk.board.createComment(
            group_id=GROUP_ID,
            topic_id=TOPIC_ID,
            message=f"[id{user_id}|Пользователь], {response}",
            reply_to_comment=comment["id"]
        )

        checked_comments.add(comment["id"])

    time.sleep(10)
 
Ноя
21
1
Пользователь
но попробуй это

код:
import vk_api
import time
import re

TOKEN = "///"
GROUP_ID = ///
TOPIC_ID = /

vk_session = vk_api.VkApi(token=TOKEN)
vk = vk_session.get_api()

def check_application(text):
    age = re.search(r"возраст[:\- ]*(\d+)", text.lower())
    level = re.search(r"уровень[:\- ]*(\d+)", text.lower())
    nick = re.search(r"ник[:\- ]*(\w+)", text.lower())

    if not all([age, level, nick]):
        return "Заявка отклонена: заполнены не все пункты."

    age = int(age.group(1))
    level = int(level.group(1))

    if age < 14:
        return "Заявка отклонена: минимальный возраст 14."
    if level < 5:
        return "Заявка отклонена: нужен минимум 5 уровень."

    return "Заявка одобрена! Ожидайте дальнейшей информации."

checked_comments = set()

while True:
    comments = vk.board.getComments(
        group_id=GROUP_ID,
        topic_id=TOPIC_ID,
        count=100
    )["items"]

    for comment in comments:
        if comment["id"] in checked_comments:
            continue

        user_id = comment["from_id"]
        text = comment["text"]

        response = check_application(text)

        vk.board.createComment(
            group_id=GROUP_ID,
            topic_id=TOPIC_ID,
            message=f"[id{user_id}|Пользователь], {response}",
            reply_to_comment=comment["id"]
        )

        checked_comments.add(comment["id"])

    time.sleep(10)
проблема в том что я тупой и не очень понимаю как мне его настроить
мне надо чтобы он проверял критерии "возраст" "готовы ли вы пройти тест (да/нет)"
 
Янв
245
581
Продавец
Python:
import vk_api
import time
import re

TOKEN = "ТВОЙ_GROUP_TOKEN"
GROUP_ID = 123456789
TOPIC_ID = 1

vk_session = vk_api.VkApi(token=TOKEN)
vk = vk_session.get_api()

def check_application(text):
    text = text.lower()

    age = re.search(r"возраст[:\- ]*(\d+)", text)
    test_ready = re.search(r"(готов.*тест.*[:\- ]*(да|нет))|(да|нет)", text)

    if not age:
        return "Заявка отклонена: укажите возраст."

    if not test_ready:
        return "Заявка отклонена: ответьте, готовы ли пройти тест (да/нет)."

    age = int(age.group(1))
    answer = test_ready.group(2) if test_ready.group(2) else test_ready.group(3)

    if age < 14:
        return "Заявка отклонена: минимальный возраст 14."

    if answer == "нет":
        return "Заявка отклонена: вы должны быть готовы пройти тест."

    return "Заявка одобрена! Скоро с вами свяжутся."

checked_comments = set()

while True:
    comments = vk.board.getComments(
        group_id=GROUP_ID,
        topic_id=TOPIC_ID,
        count=100
    )["items"]

    for comment in comments:
        if comment["id"] in checked_comments:
            continue

        user_id = comment["from_id"]
        text = comment["text"]

        response = check_application(text)

        vk.board.createComment(
            group_id=GROUP_ID,
            topic_id=TOPIC_ID,
            message=f"[id{user_id}|Пользователь], {response}",
            reply_to_comment=comment["id"]
        )

        checked_comments.add(comment["id"])

    time.sleep(10)
 
Ноя
21
1
Пользователь
Python:
import vk_api
import time
import re

TOKEN = "ТВОЙ_GROUP_TOKEN"
GROUP_ID = 123456789
TOPIC_ID = 1

vk_session = vk_api.VkApi(token=TOKEN)
vk = vk_session.get_api()

def check_application(text):
    text = text.lower()

    age = re.search(r"возраст[:\- ]*(\d+)", text)
    test_ready = re.search(r"(готов.*тест.*[:\- ]*(да|нет))|(да|нет)", text)

    if not age:
        return "Заявка отклонена: укажите возраст."

    if not test_ready:
        return "Заявка отклонена: ответьте, готовы ли пройти тест (да/нет)."

    age = int(age.group(1))
    answer = test_ready.group(2) if test_ready.group(2) else test_ready.group(3)

    if age < 14:
        return "Заявка отклонена: минимальный возраст 14."

    if answer == "нет":
        return "Заявка отклонена: вы должны быть готовы пройти тест."

    return "Заявка одобрена! Скоро с вами свяжутся."

checked_comments = set()

while True:
    comments = vk.board.getComments(
        group_id=GROUP_ID,
        topic_id=TOPIC_ID,
        count=100
    )["items"]

    for comment in comments:
        if comment["id"] in checked_comments:
            continue

        user_id = comment["from_id"]
        text = comment["text"]

        response = check_application(text)

        vk.board.createComment(
            group_id=GROUP_ID,
            topic_id=TOPIC_ID,
            message=f"[id{user_id}|Пользователь], {response}",
            reply_to_comment=comment["id"]
        )

        checked_comments.add(comment["id"])

    time.sleep(10)
он работает по токену сообщества?

если да то есть возможность сделать чтобы он работал по пользовательскому токену?
 
Осуждён за гениальность или проклят за талант?
Окт
160
480
Пользователь
он работает по токену сообщества?

если да то есть возможность сделать чтобы он работал по пользовательскому токену?
OFFTOP

а зачем тебе по пользовательскому токену

 
Сверху