· 4 years ago · Jan 27, 2021, 01:02 PM
1import sqlite3
2from telegram import update
3from telegram.ext import Updater, CommandHandler, MessageHandler, Filters, CallbackContext
4from telegram.ext.dispatcher import run_async
5from telegram import InlineKeyboardButton , InlineKeyboardMarkup
6from time import sleep
7import random
8
9DataBase = sqlite3.connect("register-data.db")
10cursor = DataBase.cursor()
11sendlist = False
12chlist = []
13chalenge = False
14SQ = """
15 CREATE TABLE IF NOT EXISTS users(
16 userId integer PRIMARY KEY ,
17 Fname text,
18 userName text
19 );
20"""
21
22cursor.execute(SQ)
23DataBase.commit()
24DataBase.close()
25
26userid = ''
27username = ''
28firstname = ''
29
30def registry(update, context):
31 OpenReg = InlineKeyboardMarkup([
32 [InlineKeyboardButton('ثبت نام', url='https://t.me/bet_ww_bot/?start=null')]
33])
34 update.reply("**روی ثبت نام بمال**",
35 reply_markup=OpenReg)
36
37def chalenge_list(update, context):
38 global userid , username , firstname , chalenge , sendlist
39 if "/ch_on" in update.message.text:
40 tim = update.message.text.split()[1]
41 Update.bot.send_message(update.message.chat.id, f"**خب هر {tim} مین قرعه کشی میکنم\n یکی برنده لاتاری میشه \n بنظرت این آدم خوش شانس کیه**")
42 chalenge = True
43 if chalenge == True:
44 while chalenge:
45 try:
46 DataBase = sqlite3.connect("register-data.db")
47 cursor = DataBase.cursor()
48 SQlis = "SELECT * FROM users"
49 cursor.execute(SQlis)
50 for b in cursor:
51 iduser = b[0]
52 nameuser = b[1]
53 usname = b[2]
54 mention = f"[{nameuser}](tg://user?id={iduser})"
55 mkds = 'username: ندارد'
56 if usname == 'None' or usname == '':
57 usname = ''
58 else:
59 mkds = f"username: @{usname}"
60 ran = "id: `{}` \nname: {} \n{}".format(iduser,mention,mkds)
61 chlist.append(ran)
62 print(ran)
63 rand = random.choice(chlist)
64 DataBase.commit()
65 DataBase.close()
66 sleep(int(tim)*60)
67 Update.bot.send_message(update.message.chat.id ,f"**برنده این دوره از قرعه کشی کسی نیست جز**\n\n{rand}")
68 chlist.clear()
69 except:
70 pass
71 if "/ch_off" in update.message.text:
72 chalenge = False
73 Update.bot.send_message(update.message.chat.id, "**قرعه کشی خاموش شد**")
74 if "/list_on" in update.message.text:
75 time = update.bot.text.split()[1]
76 Update.bot.send_message(update.message.chat.id, f"**دریافت لیست هر {time} مین برای گروه فعال شد**")
77 sendlist = True
78 if sendlist == True:
79 while sendlist:
80 try:
81 DataBase = sqlite3.connect("register-data.db")
82 cursor = DataBase.cursor()
83 SQlist = "SELECT * FROM users"
84 cursor.execute(SQlist)
85 PM1 = "1- "
86 PM2 = "2- لیست شرکت کنندگان \n"
87 PM3 = "3- لیست شرکت کنندگان \n "
88 msg = "لیست شرکت کنندگان \n"
89 for a in cursor:
90 iduser = a[0]
91 nameuser = a[1]
92 usname = a[2]
93 mention = f"[{nameuser}](tg://user?id={iduser})"
94 mljg = 'username: ندارد'
95 if usname == 'None' or usname == '':
96 usname = ''
97 else:
98 mljg = f"username: @{usname}"
99 if msg:
100 msg += "id: `{}` \nname: {} \n{}\n〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️\n".format(iduser,mention,mljg)
101 for uu in msg.split("\n")[0:161]:
102 PM1 += "{}\n".format(uu.split('\n')[0])
103 for gg in msg.split("\n")[161:321]:
104 PM2 += "{}\n".format(gg.split('\n')[0])
105 for ff in msg.split("\n")[321:481]:
106 PM3 += "{}\n".format(ff.split('\n')[0])
107 DataBase.commit()
108 DataBase.close()
109 Update.bot.send_message(update.message.chat.id ,PM1)
110 Update.bot.send_message(update.message.chat.id ,PM2)
111 Update.bot.send_message(update.message.chat.id ,PM3)
112 sleep(int(time)*60)
113 except:
114 pass
115 if "/list_off" in update.message.text:
116 sendlist = False
117 Update.bot.send_message(update.message.chat.id, "**دریافت خودکار لیست غیرفعال شد**")
118
119def starting(update, context):
120 global userid , username , firstname
121 user_info = Update.bot.get_chat(update.message.chat.id)
122 userid = user_info["id"]
123 username = user_info['username']
124 mtnakhr = ''
125 if username is None:
126 username = ''
127 else:
128 mtnakhr = f"\n**یوزر نیم:** @{username}"
129 firstname = user_info["first_name"]
130 try:
131 if Update.bot.get_messages(update.message.chat.id, [1]):
132 DataBase = sqlite3.connect("register-data.db")
133 cursor = DataBase.cursor()
134 SQI = "INSERT INTO users VALUES ({},'{}','{}');".format(userid,firstname,username)
135 cursor.executescript(SQI)
136 DataBase.commit()
137 DataBase.close()
138 Update.bot.send_message(update.message.chat.id,"**شروع فرایند ثبت نام شما**")
139 Update.bot.send_message(update.message.chat.id, f"""**کاربر با مشخصات فوق ثبت شد**
140**نام کاربر:** {firstname}
141**آیدی:** `{userid}`{mtnakhr}""")
142 Update.bot.send_message(-1001396840436, f"""**کاربر با مشخصات فوق ثبت شد**
143**نام کاربر:** {firstname}
144**آیدی:** `{userid}`{mtnakhr}""")
145 except:
146 if Update.bot.get_messages(update.message.chat.id, [2]):
147 Update.bot.send_message(update.message.chat.id , "**شما قبلا ثبت نام کرده اید**")
148 Update.bot.send_message(update.message.chat.id, f"""**مشخصات شما**
149**نام کاربر:** {firstname}
150**آیدی:** `{userid}`{mtnakhr}""")
151
152def delme(update, context):
153 global userid , username , firstname
154 user_info = Update.bot.get_chat(update.message.chat.id)
155 userid = user_info["id"]
156 DataBase = sqlite3.connect("register-data.db")
157 cursor = DataBase.cursor()
158 SQD = "DELETE FROM users WHERE userId = {}".format(userid)
159 cursor.execute(SQD)
160 DataBase.commit()
161 DataBase.close()
162 Update.bot.send_message(update.message.chat.id , "**ثبت نام شما لغو شد**")
163
164Update = Updater("1586803019:AAHOD0ERKk5307ks25MpQi5o2so24hpPbGY", use_context=True)
165
166Update.dispatcher.add_handler(CommandHandler('registry', callback=registry, filters=Filters.group))
167Update.dispatcher.add_handler(MessageHandler(callback=chalenge_list, filters=Filters.group))
168Update.dispatcher.add_handler(CommandHandler('start', callback=starting, filters=Filters.private))
169Update.dispatcher.add_handler(CommandHandler('DeleteMe', callback=delme, filters=Filters.private))
170
171Update.start_polling()
172Update.idle()