2022-10-11 14:15:47 +00:00
import telebot
#Keyboard
from telebot . types import ReplyKeyboardMarkup , KeyboardButton
2022-11-13 11:03:01 +00:00
#0.00000000009 output
from numpy import format_float_positional
2022-11-05 11:02:59 +00:00
#VAR import
import var
var . init ( )
2022-10-11 14:15:47 +00:00
2022-11-05 11:02:59 +00:00
#FUNC import
from func import *
2022-10-11 14:19:05 +00:00
2022-11-05 11:02:59 +00:00
API_TOKEN = var . API_MAIN
2022-10-11 14:19:05 +00:00
2022-11-05 11:02:59 +00:00
bot = telebot . TeleBot ( API_TOKEN )
2022-10-11 14:19:05 +00:00
2022-10-11 14:15:47 +00:00
@bot.message_handler ( commands = [ ' start ' ] )
def welcome ( message ) :
markup = ReplyKeyboardMarkup ( resize_keyboard = True )
markup . add ( ' Баланс ' )
markup . add ( ' Ввести/Вывести ' )
markup . add ( ' Перевод ' )
markup . add ( ' Помощь ' )
bot . reply_to ( message , """
2022-11-05 11:02:59 +00:00
Используя данный банк , вы соглашаетесь с следующими положениями в ссылке - https : / / t . me / cryptodm_bank / 8
2022-10-11 14:15:47 +00:00
""" ,reply_markup=markup)
@bot.message_handler ( commands = [ ' help ' ] )
def help ( message ) :
bot . reply_to ( message , """
2022-11-05 11:02:59 +00:00
┌ ─ ─ ─ ─ ─ ─ ─ ─ ─ Помощь ─ ─ ─ ─ ─ ─ ─ ─ ─
├ [ Основная информация ] ( https : / / t . me / cryptodm_bank / 5 )
├ [ Спец . команды ] ( https : / / t . me / cryptodm_bank / 4 )
├ [ Соглашения ] ( https : / / t . me / cryptodm_bank / 8 )
│
├ Разработчик / Администратор
├ @kirill638355
├ Ник : \_SAN5 \_SkeLet0n \_
│
├ [ Исходный код ] ( https : / / gitlab . com / justuser31 / dm_moneybot )
└ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─
""" ,parse_mode= ' Markdown ' )
2022-10-11 14:15:47 +00:00
2022-10-11 14:19:05 +00:00
2022-10-11 14:15:47 +00:00
2022-11-05 11:02:59 +00:00
@bot.message_handler ( commands = [ ' unreg ' ] )
def unregs ( message ) :
unreg ( message )
2022-10-11 14:19:05 +00:00
2022-10-11 14:15:47 +00:00
@bot.message_handler ( commands = [ ' balance ' ] )
def balance ( message ) :
2022-11-05 11:02:59 +00:00
read ( )
2022-10-11 14:15:47 +00:00
2022-11-05 11:02:59 +00:00
if checkauth ( message ) :
name = var . db [ str ( message . chat . id ) ]
bot . reply_to ( message , f """
Баланс ➣ { var . db [ name ] } CDM
""" )
2022-10-11 14:15:47 +00:00
2022-11-05 11:02:59 +00:00
@bot.message_handler ( commands = [ ' change ' ] )
def change ( message ) :
if checkauth ( message ) :
var . steps [ message . chat . id ] = " change "
2022-10-11 14:15:47 +00:00
bot . reply_to ( message , """
2022-11-05 11:02:59 +00:00
Пока моментальный ввод / вывод недоступен , извините .
┌ ─ ─ ─ ─ ─ Расписание ─ ─
│ 17 : 00 - 22 : 00 ( По Москве )
├ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─
└ ➣ Введите время или напишите " отмена "
""" )
else :
err ( message )
2022-10-11 14:15:47 +00:00
2022-10-11 14:19:05 +00:00
2022-10-11 14:15:47 +00:00
@bot.message_handler ( commands = [ ' pay ' ] )
def pay ( message ) :
if checkauth ( message ) :
2022-11-05 11:02:59 +00:00
bot . reply_to ( message , " Сумма ➣ " )
var . steps [ message . chat . id ] = " pay_num "
2022-10-11 14:15:47 +00:00
@bot.message_handler ( func = lambda message : True )
def checks ( message ) :
if message . text == ' Баланс ' :
balance ( message )
elif message . text == ' Ввести/Вывести ' :
change ( message )
elif message . text == ' Перевод ' :
pay ( message )
elif message . text == ' Помощь ' :
help ( message )
2022-10-11 14:19:05 +00:00
else :
try :
2022-11-05 11:02:59 +00:00
print ( var . steps [ message . chat . id ] )
2022-10-11 14:19:05 +00:00
except :
2022-11-05 11:02:59 +00:00
var . steps [ message . chat . id ] = None
2022-10-11 14:15:47 +00:00
2022-11-05 11:02:59 +00:00
if var . steps [ message . chat . id ] == " reg " :
reg ( message )
2022-10-11 14:15:47 +00:00
2022-11-05 11:02:59 +00:00
elif var . steps [ message . chat . id ] == " pass " :
passwd ( message )
2022-10-11 14:15:47 +00:00
2022-11-05 11:02:59 +00:00
elif var . steps [ message . chat . id ] == " change " :
if ( message . text ) . lower ( ) != " отмена " :
try :
read ( )
bot . send_message ( 2057834471 , " ####################### \n Игрок " + str ( var . db [ str ( message . chat . id ) ] ) + " (@ " + message . from_user . username + " ) " + " просит встречу в " + message . text + " \n ####################### \n " )
bot . reply_to ( message , " Запрос успешно отправлен! " )
var . steps [ message . chat . id ] = None
except :
err ( message )
elif ( message . text ) . lower ( ) == " отмена " :
bot . reply_to ( message , " Операция отменена. " )
var . steps [ message . chat . id ] = None
2022-10-11 14:15:47 +00:00
2022-11-05 11:02:59 +00:00
elif var . steps [ message . chat . id ] == " pay_num " :
2022-10-11 14:19:05 +00:00
try :
2022-11-05 11:02:59 +00:00
# if True:
2022-10-11 14:19:05 +00:00
read ( )
2022-11-05 11:02:59 +00:00
#FLOAT
var . pnum [ message . chat . id ] = float ( message . text )
if var . pnum [ message . chat . id ] > 0.00000000001 :
if float ( var . db [ var . db [ str ( message . chat . id ) ] ] ) > = var . pnum [ message . chat . id ] :
bot . reply_to ( message , " Ник адресата ➣ " )
var . steps [ message . chat . id ] = " pnick "
2022-10-11 14:19:05 +00:00
else :
2022-11-05 11:02:59 +00:00
err ( message )
2022-10-11 14:15:47 +00:00
else :
2022-11-05 11:02:59 +00:00
print ( 1 )
err ( message )
2022-10-11 14:19:05 +00:00
except :
2022-11-05 11:02:59 +00:00
err ( message )
elif var . steps [ message . chat . id ] == " pnick " :
var . pnick [ message . chat . id ] = message . text
2022-11-13 11:03:01 +00:00
if var . pnum [ message . chat . id ] < 1 :
sum = format_float_positional ( var . pnum [ message . chat . id ] )
else :
sum = str ( var . pnum [ message . chat . id ] )
2022-11-05 11:02:59 +00:00
bot . reply_to ( message , f """
Ник ➣ { var . pnick [ message . chat . id ] }
2022-11-13 11:03:01 +00:00
Сумма ➣ { sum }
2022-11-05 11:02:59 +00:00
Для подтверждения напишите ' да ' """ )
var . steps [ message . chat . id ] = " pay_valid "
elif var . steps [ message . chat . id ] == " pay_valid " :
2022-10-11 14:19:05 +00:00
if message . text == ' да ' :
try :
2022-11-05 11:02:59 +00:00
# if 1 == 1:
var . db [ var . pnick [ message . chat . id ] ] = var . db [ var . pnick [ message . chat . id ] ] + var . pnum [ message . chat . id ]
var . db [ var . db [ str ( message . chat . id ) ] ] = var . db [ var . db [ str ( message . chat . id ) ] ] - var . pnum [ message . chat . id ]
2022-10-11 14:19:05 +00:00
#Date
today = date . today ( )
2022-11-05 11:02:59 +00:00
payer = var . db [ str ( message . chat . id ) ]
# payer_bill=str(message.chat.id)
2022-11-13 11:03:01 +00:00
# sum=str(var.pnum[message.chat.id])
if var . pnum [ message . chat . id ] < 1 :
sum = format_float_positional ( var . pnum [ message . chat . id ] )
else :
sum = str ( var . pnum [ message . chat . id ] )
2022-10-11 14:19:05 +00:00
dttm = today . strftime ( " %d . % m. % Y_ " + time . strftime ( " % H: % M " , time . localtime ( ) ) )
2022-11-05 11:02:59 +00:00
signstr = payer + var . pnick [ message . chat . id ] + dttm
sign = str ( hashlib . sha1 ( str . encode ( signstr ) ) . hexdigest ( ) )
2022-10-11 14:19:05 +00:00
bot . reply_to ( message , " Успешно " )
bot . reply_to ( message , f """
2022-11-05 11:02:59 +00:00
- - - - - ЧЕК - - - -
Плательщик : { payer }
Сумма : { sum } CDM
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
Получатель : { var . pnick [ message . chat . id ] }
Время & Дата : { dttm }
- - - - - - - - - - - -
~ CryptoDM ~
ПОДПИСЬ : { sign }
___________
""" )
2022-10-11 14:19:05 +00:00
f = open ( ' signs.sha256 ' , ' a ' )
2022-11-05 11:02:59 +00:00
f . write ( sign + " - " + dttm + " \n " )
2022-10-11 14:19:05 +00:00
f . close ( )
2022-11-05 11:02:59 +00:00
try :
getid = list ( var . db . keys ( ) ) [ list ( var . db . values ( ) ) . index ( var . pnick [ message . chat . id ] ) ]
bot . send_message ( getid , f """
╔ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═
║ Вам перевели ➣ { sum } CDM
╚ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═
""" )
except :
pass
2022-10-11 14:19:05 +00:00
write ( )
except :
2022-11-05 11:02:59 +00:00
err ( message )
2022-10-11 14:19:05 +00:00
else :
2022-11-05 11:02:59 +00:00
var . steps [ message . chat . id ] = None
2022-10-11 14:19:05 +00:00
bot . reply_to ( message , " Вы отменили операцию " )
2022-10-11 14:15:47 +00:00
bot . infinity_polling ( )