-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmain.py
48 lines (40 loc) · 2.32 KB
/
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import telebot as telebot
from pyTONPublicAPI import pyTONPublicAPI
from telebot.apihelper import approve_chat_join_request
BOT_TOKEN = 'YourBotToken'
bot = telebot.TeleBot(BOT_TOKEN)
@bot.message_handler(content_types=util.content_type_service)
def dell_new_member(message: types.Message):
bot.delete_message(message.chat.id,message.message_id)
def approve(message):
global chat_id
user_id = message.from_user.id
address = message.text
client = pyTONPublicAPI()
is_premium = message.from_user.is_premium
try:
balanse = client.get_address_balance(address=address)
if balanse > 0 or is_premium:
bot.send_message(user_id, 'Твоя заявка одобрена')
approve_chat_join_request(token=BOT_TOKEN, chat_id=chat_id, user_id=user_id)
else:
msg = bot.send_message(user_id, 'На твоем аккаунте нет Telegram Premium,'
'а на кошельке нет нужной NFT. повторите '
'попытку после покупки Telegram Premium '
'или пополнения кошелька')
bot.register_next_step_handler(msg, test)
except Exception:
msg = bot.send_message(user_id, 'Неверный адрес кошелька. Повторите попытку')
bot.register_next_step_handler(msg, test)
@bot.chat_join_request_handler()
def main(message: telebot.types.ChatJoinRequest):
global chat_id
chat_id = message.chat.id
msg = bot.send_message(message.user_chat_id,
'Привет, ты подал заявку на закрытый чат. Чтобы тебя принять, '
'привяжи свой TON кошелек к боту. '
'Этого будет достаточно, чтобы твоя заявка была одобрена. '
'Если на нём будет найдена минимум 1 NFT из нижеуказанных '
'коллекций, либо активируй Telegram Premium')
bot.register_next_step_handler(msg, approve)
bot.infinity_polling(allowed_updates=telebot.util.update_types)