· 5 years ago · Jun 21, 2020, 07:58 PM
1import telebot
2import mysql.connector
3import logging
4import xlrd, xlwt
5import re
6import supp as sp
7
8# Enable logging
9logging.basicConfig(filename='ccbot_log.txt', filemode='w',
10 format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
11 level=logging.DEBUG)
12logger = logging.getLogger(__name__)
13
14bot = telebot.TeleBot('xxx')
15
16db = mysql.connector.connect(
17 host="localhost",
18 user="ccbotbase",
19 passwd="xxx",
20 port="3306",
21 database="user_cc"
22)
23cursor = db.cursor()
24cursor.execute("CREATE DATABASE IF NOT EXISTS user_cc")
25cursor.execute("CREATE TABLE IF NOT EXISTS customers (id VARCHAR(255) UNIQUE, username VARCHAR(255), cr INT)")
26cursor.execute(
27 "CREATE TABLE IF NOT EXISTS cclist (id VARCHAR(255), username VARCHAR(255), cc VARCHAR(255), reply VARCHAR(255))")
28
29boss = xxx
30
31@bot.message_handler(commands=['help'])
32def help(message):
33 bot.send_photo(message.chat.id, photo=open('bph.png', 'rb'), caption='По всем вопросам обращайтесь в поддержку\n @xxx' )
34
35@bot.message_handler(commands=['start'])
36def mainmenu(message):
37 markup = telebot.types.InlineKeyboardMarkup()
38 markup.add(telebot.types.InlineKeyboardButton(text='\U0001F4B3 CHECK CC', callback_data=3))
39 user_id = message.from_user.id
40 username = message.from_user.username
41 if user_id == boss:
42 try: # без этого если таблицы не было, бот вылеоает с ошибкой
43 cr = 100
44 sql = "INSERT INTO customers (id, cr) VALUES (%s, %s)"
45 val = (user_id, cr)
46 cursor.execute(sql, val)
47 db.commit()
48 except:
49 pass
50 keyboard = telebot.types.ReplyKeyboardMarkup(True)
51 keyboard.row('/addcr', '/dldcc', '/start', '/dldusr')
52 bot.send_message(message.chat.id, "Привет Босс!", reply_markup=keyboard)
53 bot.send_message(message.chat.id, "давай поработаем", reply_markup=markup)
54
55 else:
56 try:
57 cr = 5
58 sql = "INSERT INTO customers (id, username, cr) VALUES (%s, %s, %s)"
59 val = (user_id, username, cr)
60 cursor.execute(sql, val)
61 db.commit()
62 bot.send_photo(message.chat.id, photo=open('bph.png', 'rb'),
63 caption=("Welcome! BARBIE is here to check your CC!\nYour ID: `%s` (tap to copy)\n\n*WOW! You have 5 free credits!*\nYour credits: *%s*\n\n\nCC input format:\nnnnnnnnnnnnnnnnn mmyy cvv" %
64 (user_id, cr)), reply_markup=markup, parse_mode="markdown")
65 bot.send_audio(message.chat.id, audio=open('mom.ogg', 'rb'))
66
67 except:
68 sql0 = "SELECT cr FROM customers WHERE id = %s"
69 id = (user_id,)
70 cursor.execute(sql0, id)
71 cr = cursor.fetchone()
72 for x in cr:
73 rob = x
74 bot.send_photo(message.chat.id, photo=open('bph.png', 'rb'),
75 caption=("Hi, handsome! BARBIE is here to check your CC!\n\nYour ID: `%s` (tap to copy)\nYour credits: *%s*\n\n\nCC input format:\nnnnnnnnnnnnnnnnn mmyy cvv" %
76 (user_id, rob)), reply_markup=markup, parse_mode="markdown")
77 bot.send_audio(message.chat.id, audio=open('mom.ogg', 'rb'))
78
79@bot.callback_query_handler(func=lambda call: True)
80def query_handler(call):
81 answer = ''
82 if call.data == '3':
83 user_id = call.message.chat.id
84 sql0 = "SELECT cr FROM customers WHERE id = %s"
85 id = (user_id,)
86 cursor.execute(sql0, id)
87 cr = cursor.fetchone()
88 for x in cr:
89 if int(x <= 0):
90 bot.send_message(call.message.chat.id, "извините мало кредитов")
91 else:
92 bot.send_message(call.message.chat.id, 'Enter CC number')
93 @bot.message_handler(content_types=['text'])
94 def ccheck(message):
95 user_id = message.from_user.id
96 username = message.from_user.username
97 cc = message.text
98 reply = "valid/invalid"
99
100 sql0 = "SELECT cr FROM customers WHERE id = %s"
101 id = (user_id,)
102 cursor.execute(sql0, id)
103 cr = cursor.fetchone()
104 for x in cr:
105 updcr = int(x - 1)
106 try:
107
108
109 splitter = cc.split(' ')
110 ccnum = int(splitter[0])
111 month = int(splitter[1])
112 cvv = int(splitter[2])
113
114 sql = "INSERT INTO cclist (id, username, cc, reply) VALUES (%s, %s, %s, %s)"
115 val = (user_id, username, cc, reply)
116 cursor.execute(sql, val)
117
118 sql2 = "UPDATE customers SET cr = %s WHERE id = %s"
119 val2 = (updcr, user_id,)
120 cursor.execute(sql2, val2)
121
122 db.commit()
123
124 bot.reply_to(message,"cc checker reply here\n\n###########\n\n\nRemain credits: *%s*" % updcr, parse_mode="markdown")
125 bot.send_message(message.chat.id, "You can enter another CC now")
126 except:
127
128 bot.send_message(message.chat.id, "Invalid cc input! Please use correct format!")
129 elif call.data == '4':
130 pass
131
132
133
134
135############ служебные команды #######################################################
136
137@bot.message_handler(commands=['addcr'])
138def start_message2(message):
139 uid = message.from_user.id
140 if uid == boss:
141 bot.send_message(message.chat.id, "PASSWORD:")
142 @bot.message_handler(content_types=['text'])
143 def password_handler(message):
144 if message.text == "123":
145 bot.send_message(message.chat.id, "ACCESS GRANTED")
146 msg = bot.send_message(message.chat.id, "Please enter UID")
147 bot.register_next_step_handler(msg, check_credit)
148 else:
149 bot.send_message(message.chat.id, "WRONG MOVE. Enter PASSWORD:")
150 def check_credit(message): # проверка количества кредитов
151 uid3 = message.text
152 global idc # вот эти две ебучие строчки которые я искал
153 idc = uid3 # переменная назначается в функции, а сама выносится за пределы функции
154 try:
155 ssql = "SELECT cr FROM customers WHERE id = %s"
156 id = (uid3,)
157 cursor.execute(ssql, id)
158 cr = cursor.fetchone()
159 for x in cr:
160 ucr = x
161 bot.send_message(message.chat.id, "Кредитов есть:")
162 bot.send_message(message.chat.id, ucr)
163 msg = bot.send_message(message.chat.id, "сколько добавить кредитов?")
164 bot.register_next_step_handler(msg, add_credit)
165 except:
166 msg = bot.send_message(message.chat.id, "Invalid UID. Please enter UID")
167 bot.register_next_step_handler(msg, check_credit) # если не использовать некст степ хендлер,
168 # то при втором вводе UID начнет выполняться password_handler
169 # а если использовать, то пока не введешь верный UID не получится выйти
170
171
172
173 def add_credit(message): # добавление кредитов
174 try:
175 addcr = int(message.text)
176 ssql1 = "SELECT cr FROM customers WHERE id = %s"
177 id = (idc,)
178 cursor.execute(ssql1, id)
179 cr = cursor.fetchone()
180 for x in cr:
181 updcr1 = int(x + addcr)
182
183 ssql2 = "UPDATE customers SET cr = %s WHERE id = %s"
184 val2 = (updcr1, idc,)
185 cursor.execute(ssql2, val2)
186
187 db.commit()
188 bot.send_message(message.chat.id, "Кредиты успешно добавлены! Теперь:")
189 bot.send_message(message.chat.id, updcr1)
190 except:
191 msg = bot.send_message(message.chat.id, "Invalid entry. ")
192 bot.send_message(message.chat.id, "сколько добавить кредитов?")
193 # bot.register_next_step_handler(msg, add_credit)
194 else:
195 bot.send_message(message.chat.id, "ACCESS DENIED. Иди на хуй, Николя")
196
197@bot.message_handler(commands=['dldusr'])
198def start_message4(message):
199 uid = message.from_user.id
200 if uid == boss:
201 bot.send_message(message.chat.id, "PASSWORD:")
202 @bot.message_handler(content_types=['text'])
203 def password_handler(message):
204 if message.text == "123":
205 bot.send_message(message.chat.id, "ACCESS GRANTED")
206 sp.usrlist(message)
207 else:
208 bot.send_message(message.chat.id, "WRONG MOVE. Enter PASSWORD:")
209 else:
210 bot.send_message(message.chat.id, "ACCESS DENIED. Иди на хуй, Николя")
211
212@bot.message_handler(commands=['dldcc'])
213def start_message3(message):
214 uid = message.from_user.id
215 if uid == boss:
216 bot.send_message(message.chat.id, "PASSWORD:")
217 @bot.message_handler(content_types=['text'])
218 def password_handler2(message):
219 if message.text == "123":
220 bot.send_message(message.chat.id, "ACCESS GRANTED")
221 sp.cclist(message)
222 else:
223 bot.send_message(message.chat.id, "WRONG MOVE. Enter PASSWORD:")
224 else:
225 bot.send_message(message.chat.id, "ACCESS DENIED. Иди на хуй, Николя")
226
227
228bot.polling(none_stop=True, interval=0)
229if __name__ == '__main__':
230 main()