Добро пожаловать! Игровой форум WLUX.NET - Игры, Читы, Скрипты, Статьи, Софт, Курсы.

Присоединяйтесь к нам сейчас, чтобы получить доступ ко всем нашим функциям. После регистрации и входа в систему вы сможете создавать темы, публиковать ответы на существующие темы, повышать репутацию участников, скачивать вложения и файлы и многое, многое другое. Так чего же вы ждете?

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

Приветствуем вас на нашем форуме! Мы очень рады вас видеть и с большим удовольствием поделимся всей информацией нашего форума!

Мы уважаем своих пользователей и так же ждем от вас приятного общения.

Система наград, ежедневное пополнения тем!

Общайся, получай награды.

Статьи, гайды, софт

У нас вы можете скачать бесплатно читы для игр. Полезные гайды на любые темы и схемы заработка. Есть раздел халявы!

FAQ по форуму

Не понимаю, как и что тут работает у вас?!Как создавать темы, писать сообщения, как получать реакции. Почему не засчитывает сообщения. Все ответы здесь

  • Добро пожаловать на сайт - wlux.net!

    FAQ по форуму

    1. Все сообщения до группы местный проходят модерацию от 1 минуты до 24 часа

    2. Сообщения учитываються в следующих разделах: Читать

    3.Что-бы скачать вложение нужно 2 сообщения.

    4.Личные переписки работают только с Администрацией форума

    5. Запрещено: Просить скрытый текст , спам, реклама, скам, ддос, кардинг и другая чернуха, нарушать любые законы РФ/СНГ = бан аккаунта

    6. Внимание! Мы не удаляем аккаунты с форума! Будьте внимательны ДО регистрации! Как удалить аккаунт на форуме?!

    5.Не понимаю, как и что тут работает у вас?!Как создавать темы, писать сообщения, как получать реакции. Почему не засчитывает сообщения. Все ответы здесь

python Исходник Гайд Проверяем подписку на канал или группу в Telegram через бота + исходник

5,00 звёзд
1 Рейтинг
wlux.net Оффлайн

wlux.net

Где волчьи уши, там волчьи зубы.
Команда форума
LV
7
 
20.06.2022
23 847
218
36
Награды
10
Пол
Муж.

Репутация:

  • Автор темы
  • Администратор
  • Модератор
  • Команда форума
  • #1
Способ 1: Cкрипт проверки подписки на каналы Telegram

🔅 Cкрипт проверки подписки на каналы Telegram
🐍 ЯП : Python
🌀 Модули : aiogram, SQLAlchemy, gino
⭕ База : PostgreSQL

🤖 Бот для проверки на подписку канала. Добавляете в чат специальной командой и там же добавляете каналы, на которые нужно подписаться. Инструкция есть внутри скрипта. Делал давно, поэтому не пинайте за плохую структуру проекта и gino

Способ 2:
Кусок кода для проверки подписки через бота

Написано на telebot
Что бы всё работало, бота нужно добавить в админы канала
Python:
import telebot
import sqlite3 as sql


#База Данных
con = sql.connect("data.db", check_same_thread=False)
cur = con.cursor()
cur.execute("CREATE TABLE IF NOT EXISTS users(id INT)")

#Ваш бот
token = ""
bot = telebot.TeleBot(token)

#ID Вашего канала
chan_id =

#Клавиатура для проверки подписки
keyboard = telebot.types.InlineKeyboardMarkup()
subscribe = telebot.types.InlineKeyboardButton(text="Подписаться", url="ссылка на ваш канал")
check = telebot.types.InlineKeyboardButton(text="Проверить", callback_data="check")
keyboard.add(subscribe)
keyboard.add(check)

#Не нужная хуйня, вписал просто для видимости
menu = telebot.types.ReplyKeyboardMarkup(True, True)
menu.add("Вы уже подписаны")


@bot.message_handler(commands=["start"])
def start(message):
    users = cur.execute("SELECT id FROM users WHERE id = ?", (message.chat.id, )).fetchone()
    con.commit()
    if users == None: #Если юзер ещё не в БД
        bot.send_message(message.chat.id, "Что-бы продолжить подпишитесь на канал", reply_markup=keyboard)
    else: #Уже в бд
        bot.send_message(message.chat.id, "Вы уже подписаны", reply_markup=menu)


#Тут мы чекаем подписку
@bot.callback_query_handler(func=lambda call: True)
def c_listener(call):
    if call.data == "check":
        x = bot.get_chat_member(chan_id, call.message.chat.id)

        if x.status == "member" or x.status == "creator" or x.status == "administrator":
            bot.send_message(call.message.chat.id, "Добро пожаловать!", reply_markup=menu)
            cur.execute("INSERT INTO users VALUES(?)", (call.message.chat.id, ))
            con.commit()
        else:
            bot.send_message(call.message.chat.id, "Вы не подписались!", reply_markup=keyboard)



if __name__ == "__main__":
    bot.polling()

Способ 3 : Бот для проверки подписки на канал или группу

Проверка подписан ли пользователь на канал или группу производится с помощью запроса к Telegram API методом

Пожалуйста, войдите или зерегистрируйтесь, чтобы увидеть скрытый текст.

. Для этого в конструкторе ботов Botmother предусмотрен такой сценарий.
1. Создадим экран запроса с компонентом «Запрос», метод Post.
2. Пропишем URL запроса:

Пожалуйста, войдите или зерегистрируйтесь, чтобы увидеть скрытый текст.


где «ТОКЕН» — токен вашего бота в Телеграм (получен от BotFather).
бот проверка1.png

3. В настройках компонента добавим тело запроса:

Код:
{
"chat_id": "id канала/группы",
"user_id": "{{this_user.platform_id}}"
}

где id канала/группы — идентификатор канала/группы, на который проверяется подписка,
user_id — id пользователя, у которого проверяется подписка. Можно оставить как есть.
проверка бот 2.png

4. Выберем «Экран, который выпролнится при удачном выполнении запроса» — следующий шаг по сценарию (п. 5).

5. Добавим экран с компонентом "Развилка", чтобы распределять по разным сценариям пользователей в зависимости от того, подписан юзер или нет, или имеет другой статус, например, заблокирован.
Статус пользователя сообщит Телеграм, ответ попадет в переменные пользователя. Эти переменные можно посмотреть в разделе «Состояния пользователей».
Ответы от Телеграм приходят такие:
member - пользователь является подписчиком;
left — пользователь не подписан;
kicked — пользователь заблокирован;
administrator - админ;
creator — создатель.
В боте ответ попадет в переменную last_request. result. status, значит ее значение мы и проверим в Развилке.
код бот 3.png

left - не подписан
код бот4.png

member - подписан
Пишем last_request. result. status в «Имя переменной, откуда развилка возьмет значение».
код проветки бот 5.png

6. Добавляем Цели развилки (кнопка «Добавить цель» в настройках Развилки), т. е. куда перейдет пользователь в зависимости от его статуса, подписан или нет.
код 7.png
код8.png

В целом схема экранов может быть такой.

код 9.png

7. И назначаем бота админом канала или группы.
Теперь после старта бот будет проверять, является пользователь подписчиком или нет. Если нет, то предложить подписаться на канал или вступить в группу. Можно включить такую проверку на любом этапе пользования ботом, например, после триала или для получения расширенного функционала.
Протестить такого бота со стороны пользователя можно тут:

Пожалуйста, войдите или зерегистрируйтесь, чтобы увидеть скрытый текст.

. Хотя подобные проверки на подписки наверняка встречались не раз.
 

Вложения

  • SubCheckerBot.zip
    SubCheckerBot.zip
    34,2 КБ · Просмотры: 172
C Оффлайн

chocolider

Местный
Участник
LV
0
 
30.03.2023
41
0
2
Награды
1
62

Репутация:

Огроменное спасибо за быстрый ответ и помощь
 
N Оффлайн

Nikolo

Участник
LV
0
 
29.03.2023
11
0
2
63

Репутация:

для начала организации продвижения подойдет
 
aleks_grom Оффлайн

aleks_grom

Местный
Участник
LV
3
 
30.03.2023
56
0
26
Награды
4
Пол
Муж.

Репутация:

Спасибо автору за создание полезных скриптов и кода, который помогает автоматизировать и упростить процессы в различных проектах. Ваш труд оценен!
 
F Оффлайн

Frale

Участник
LV
0
 
28.04.2023
3
0
0
24

Репутация:

Спасибо! Весь интернет обыскал в поисках этого бота.
 
O Оффлайн

oranacsa

Участник
LV
0
 
15.04.2023
3
0
0
24

Репутация:

Спасибо! Все прошарил в поисках этого бота. Реально помогли!
 
O Оффлайн

Ososos

Участник
LV
0
 
10.06.2023
1
0
0
37

Репутация:

Имба буду пользоваться позже
 
В Оффлайн

Вадим.

Участник
LV
0
 
14.06.2023
7
0
0
49

Репутация:

не понял, он только через конструктор работает? скачать, посмотреть не могу, лимиты 🤷‍♂️
 
L Оффлайн

lexa611

Участник
LV
0
 
29.06.2023
3
0
0
32

Репутация:

скрипт рабочий или нет?
 
C Оффлайн

chocoeye

Участник
LV
0
 
29.06.2023
1
0
0
27

Репутация:

скрипт роботает спосибо большое
 
O Оффлайн

operkobra01

Участник
LV
0
 
29.06.2023
1
0
0
24

Репутация:

Работает ли скрипт в самом чате?
 
F Оффлайн

fudsahfksdbh

Участник
LV
0
 
22.09.2023
1
0
0
48

Репутация:

Скрипт работает, спасибо большое
 
O Оффлайн

Omonulla

Участник
LV
0
 
15.11.2023
1
0
6
38

Репутация:

Спасибо большое, давно искал
 
huiaihfasaoa Оффлайн

huiaihfasaoa

Местный
Участник
LV
3
 
16.08.2023
91
0
36
Награды
4
24

Репутация:

Очень давно искал, спасибо еще за объяснение
 
Z Оффлайн

Zeus1990

Участник
LV
0
 
18.12.2023
7
0
24
34

Репутация:

Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован.
Подскажите пожалуйста. Мне нужно что бы он был в чате, что бы пользователи не могла и писать после вступления пока не подпишутся на канал. И вопрос возможно ли указать несколько каналов или чатов для подписки. И удаляет ли он за собой сообщение, например через минут, можно ли так там выставлять?
Извиняюсь за такие возможно глупые вопросы
 
JuraP Оффлайн

JuraP

Участник
LV
0
 
05.01.2024
3
0
7
48

Репутация:

Спасибо! очень искал этого бота.
 
blackfoxservice Оффлайн

blackfoxservice

Участник
LV
2
 

Репутация:

этир
Способ 1: Cкрипт проверки подписки на каналы Telegram

🔅 Cкрипт проверки подписки на каналы Telegram
🐍 ЯП : Python
🌀 Модули : aiogram, SQLAlchemy, gino
⭕ База : PostgreSQL

🤖 Бот для проверки на подписку канала. Добавляете в чат специальной командой и там же добавляете каналы, на которые нужно подписаться. Инструкция есть внутри скрипта. Делал давно, поэтому не пинайте за плохую структуру проекта и gino

Способ 2:
Кусок кода для проверки подписки через бота

Написано на telebot
Что бы всё работало, бота нужно добавить в админы канала
Python:
import telebot
import sqlite3 as sql


#База Данных
con = sql.connect("data.db", check_same_thread=False)
cur = con.cursor()
cur.execute("CREATE TABLE IF NOT EXISTS users(id INT)")

#Ваш бот
token = ""
bot = telebot.TeleBot(token)

#ID Вашего канала
chan_id =

#Клавиатура для проверки подписки
keyboard = telebot.types.InlineKeyboardMarkup()
subscribe = telebot.types.InlineKeyboardButton(text="Подписаться", url="ссылка на ваш канал")
check = telebot.types.InlineKeyboardButton(text="Проверить", callback_data="check")
keyboard.add(subscribe)
keyboard.add(check)

#Не нужная хуйня, вписал просто для видимости
menu = telebot.types.ReplyKeyboardMarkup(True, True)
menu.add("Вы уже подписаны")


@bot.message_handler(commands=["start"])
def start(message):
    users = cur.execute("SELECT id FROM users WHERE id = ?", (message.chat.id, )).fetchone()
    con.commit()
    if users == None: #Если юзер ещё не в БД
        bot.send_message(message.chat.id, "Что-бы продолжить подпишитесь на канал", reply_markup=keyboard)
    else: #Уже в бд
        bot.send_message(message.chat.id, "Вы уже подписаны", reply_markup=menu)


#Тут мы чекаем подписку
@bot.callback_query_handler(func=lambda call: True)
def c_listener(call):
    if call.data == "check":
        x = bot.get_chat_member(chan_id, call.message.chat.id)

        if x.status == "member" or x.status == "creator" or x.status == "administrator":
            bot.send_message(call.message.chat.id, "Добро пожаловать!", reply_markup=menu)
            cur.execute("INSERT INTO users VALUES(?)", (call.message.chat.id, ))
            con.commit()
        else:
            bot.send_message(call.message.chat.id, "Вы не подписались!", reply_markup=keyboard)



if __name__ == "__main__":
    bot.polling()

Способ 3 : Бот для проверки подписки на канал или группу

Проверка подписан ли пользователь на канал или группу производится с помощью запроса к Telegram API методом

Пожалуйста, войдите или зерегистрируйтесь, чтобы увидеть скрытый текст.

. Для этого в конструкторе ботов Botmother предусмотрен такой сценарий.
1. Создадим экран запроса с компонентом «Запрос», метод Post.
2. Пропишем URL запроса:

Пожалуйста, войдите или зерегистрируйтесь, чтобы увидеть скрытый текст.


где «ТОКЕН» — токен вашего бота в Телеграм (получен от BotFather).
Посмотреть вложение 6874

3. В настройках компонента добавим тело запроса:

Код:
{
"chat_id": "id канала/группы",
"user_id": "{{this_user.platform_id}}"
}

где id канала/группы — идентификатор канала/группы, на который проверяется подписка,
user_id — id пользователя, у которого проверяется подписка. Можно оставить как есть.
Посмотреть вложение 6875

4. Выберем «Экран, который выпролнится при удачном выполнении запроса» — следующий шаг по сценарию (п. 5).

5. Добавим экран с компонентом "Развилка", чтобы распределять по разным сценариям пользователей в зависимости от того, подписан юзер или нет, или имеет другой статус, например, заблокирован.
Статус пользователя сообщит Телеграм, ответ попадет в переменные пользователя. Эти переменные можно посмотреть в разделе «Состояния пользователей».
Ответы от Телеграм приходят такие:
member - пользователь является подписчиком;
left — пользователь не подписан;
kicked — пользователь заблокирован;
administrator - админ;
creator — создатель.
В боте ответ попадет в переменную last_request. result. status, значит ее значение мы и проверим в Развилке.
Посмотреть вложение 6876

left - не подписан
Посмотреть вложение 6877

member - подписан
Пишем last_request. result. status в «Имя переменной, откуда развилка возьмет значение».
Посмотреть вложение 6878

6. Добавляем Цели развилки (кнопка «Добавить цель» в настройках Развилки), т. е. куда перейдет пользователь в зависимости от его статуса, подписан или нет.
Посмотреть вложение 6880
Посмотреть вложение 6879

В целом схема экранов может быть такой.

Посмотреть вложение 6881

7. И назначаем бота админом канала или группы.
Теперь после старта бот будет проверять, является пользователь подписчиком или нет. Если нет, то предложить подписаться на канал или вступить в группу. Можно включить такую проверку на любом этапе пользования ботом, например, после триала или для получения расширенного функционала.
Протестить такого бота со стороны пользователя можно тут:

Пожалуйста, войдите или зерегистрируйтесь, чтобы увидеть скрытый текст.

. Хотя подобные проверки на подписки наверняка встречались не раз.
это походу то что я искал, может кто помочь с установкой?
 
Q Оффлайн

Qteeeer

Участник
LV
0
 
17.01.2024
1
0
11
Награды
2
34

Репутация:

Благодарю. долго искал такой скрипт
 

Поиск по форуму

Похожие темы:

Ответы
20
Просмотры
891
shape1
shape2
shape3
shape4
shape7
shape8
Верх