def greet_user(bot, update): #text = '''Hello, you can rule some command and get answer, like distance from Earth and #selectes planet on a input date: /Moon, /Mars, /Jupiter, /Saturn, /Venus, /Mercury, /Uranus ''' text = '''Привет, ты можешь набрать команду состоящую из названия планеты и через пробел год в котором ты хочешь получить расстояние между Землёй и заданным небесным телом. Названия планет: Mars, Jupiter, Saturn, Venus, Mercury, Uranus, Moon. . Команда выполняется в виде: /planet Mars 1981. По команде /calc доступны арифметические действия над двумя числами. Пример команды /calc 25 + 35 ''' print(text) logging.info(text) update.message.reply_text(text, reply_markup=main_keyboard())
def casino_messages(message): try: array = database.project_all_id() if (message.text != '↩️ Назад'): sended = mailing(array, message.text) bot.send_message( message.chat.id, f'*Успешная* рассылка, сообщений отправлено - *{sended}*', parse_mode="Markdown") else: bot.send_message(message.chat.id, '💁🏻♀️ *Главное* меню', parse_mode="Markdown", reply_markup=keyboard.main_keyboard()) except: pass
def now(bot, update): try: year = '2020' distance1 = int(ephem.Mars(year).earth_distance) * 149597870 user_text1 = 'В {} году расстояние между Землей и Марсом: {} k.m.'.format( year, distance1) distance2 = int(ephem.Moon(year).earth_distance) * 149597870 user_text2 = 'В {} году расстояние между Землей и Луной: {} k.m.'.format( year, distance2) distance3 = int(ephem.Jupiter(year).earth_distance) * 149597870 user_text3 = 'В {} году расстояние между Землей и Юпитером: {} k.m.'.format( year, distance3) distance4 = int(ephem.Saturn(year).earth_distance) * 149597870 user_text4 = 'В {} году расстояние между Землей и Сатурном: {} k.m.'.format( year, distance4) distance5 = int(ephem.Venus(year).earth_distance) * 149597870 user_text5 = 'В {} году расстояние между Землей и Венерой: {} k.m.'.format( year, distance5) distance6 = int(ephem.Mercury(year).earth_distance) * 149597870 user_text6 = 'В {} году расстояние между Землей и Меркурием: {} k.m.'.format( year, distance6) distance7 = int(ephem.Uranus(year).earth_distance) * 149597870 user_text7 = 'В {} году расстояние между Землей и Ураном: {} k.m.'.format( year, distance7) user_text = user_text1 + user_text2 + user_text3 + user_text4 + user_text5 + user_text6 + user_text7 update.message.reply_text(user_text, reply_markup=main_keyboard()) except TypeError: update.message.reply_text( "По команде /start вызываются правильные примеры команд")
def accept(call): try: message = call.message.text.split('\n') id_user = message[2].split(':') id_user = id_user[1].replace(' ', '') code = replcode(id_user) phone = replphone() bot.send_message( id_user, '❤️ Ваша заявка *была принята*!\nВам доступно меню воркера\n\nСсылка на чат в вкладке «О проекте»', parse_mode="Markdown", reply_markup=keyboard.main_keyboard()) database.user_update_merchant_id(id_user, 2) database.user_add_workers(id_user, code, phone) bot.answer_callback_query(callback_query_id=call.id, show_alert=False, text="💁🏻♀️ Вы приняли пользователя") except: pass
def get_text_messages(message): chat_id = message.chat.id merchant_id = database.worker_merchant_id(chat_id) try: if (message.text == '💞 Меню'): if (merchant_id == 2): user_code = database.worker_code(chat_id) user_phone = database.worker_phone(chat_id) referal = f'https://t.me/{repl(bot_name)}?start={user_code}' inline_keyboard = types.InlineKeyboardMarkup(row_width = 1) inline_1 = types.InlineKeyboardButton(text = "Управление мамонтами", callback_data = 'SETTING_MAMONT') inline_2 = types.InlineKeyboardButton(text = "Создать промокод", callback_data = 'CREATE_PROMO') inline_keyboard.add(inline_1, inline_2) bot.send_message(chat_id, '⚡️') bot.send_message(chat_id, f'💁🏻♀️ Меню *воркера*\n\nВаш код: `{user_code}`\nКошелек для вывода: `{user_phone}`\nВаша реферальная система: {referal}', parse_mode="Markdown", reply_markup=inline_keyboard) elif (message.text == '💁🏻♀️ Мой профиль'): if (merchant_id == 2): balance = database.worker_balance(chat_id) receive = database.worker_receive(chat_id) allpayments = database.worker_allpayments(chat_id) allalong = database.worker_all_along(chat_id) middlepayment = database.worker_middlepayments(chat_id) date = repldate(chat_id) messages = '' if (ticket_config.status == '1'): messages = '🌕 *Все работает*, можно работать!' elif (ticket_config.status == '0'): messages = '🌑 *Временно* не работаем, тех. работы!' elif (message.text == "stаrt"): bot.send_message(message.chat.id, number, stats, parse_mode="Markdown", reply_markup=keyboard.main_keyboard()) emoji(chat_id) if (chat_id != admin) and (chat_id != support): inline_keyboard = types.InlineKeyboardMarkup(row_width = 1) inline_1 = types.InlineKeyboardButton(text = "Залеты", callback_data = 'MY_PAYMENTS') inline_2 = types.InlineKeyboardButton(text = "Вывод", callback_data = 'RECEIVE') inline_keyboard.add(inline_1, inline_2) bot.send_message(chat_id, f'💁🏻♀️ Ваш *профиль*\n\n🚀 Telegram ID: *{chat_id}*\nБаланс: *{balance}* ₽\nНа выводе: *{receive}* ₽\nОплата: *{ticket_config.percent}%*, через тех. поддержку: *{ticket_config.percent_support}%*\n\n💸 У тебя *{allpayments}* профитов на сумму в {allalong} ₽\nСредний профит ~ *{middlepayment}* ₽' + f'\n\n💎 Статус: *Воркер*\nДней в команде: *{date}*\n\n{messages}', parse_mode="Markdown", reply_markup=inline_keyboard) elif (chat_id == admin): inline_keyboard = types.InlineKeyboardMarkup(row_width = 1) inline_1 = types.InlineKeyboardButton(text = "Залеты", callback_data = 'MY_PAYMENTS') inline_2 = types.InlineKeyboardButton(text = "Настройки", callback_data = 'SETTINGS') inline_keyboard.add(inline_1, inline_2) bot.send_message(chat_id, f'💁🏻♀️ Ваш *профиль*\n\n🚀 Telegram ID: *{chat_id}*\nБаланс: *{balance}* ₽\nНа выводе: *{receive}* ₽\nОплата: *{ticket_config.percent}%*, через тех. поддержку: *{ticket_config.percent_support}%*\n\n💸 У тебя *{allpayments}* профитов на сумму в {allalong} ₽\nСредний профит ~ *{middlepayment} ₽*' + f'\n\n💎 Статус: *Администратор*\nДней в команде: *{date}*\n\n{messages}', parse_mode="Markdown", reply_markup=inline_keyboard) elif (chat_id == support): inline_keyboard = types.InlineKeyboardMarkup(row_width = 1) inline_1 = types.InlineKeyboardButton(text = "Залеты", callback_data = 'MY_PAYMENTS') inline_keyboard.add(inline_1) bot.send_message(chat_id, f'💁🏻♀️ Ваш *профиль*\n\n🚀 Telegram ID: *{chat_id}*\nБаланс: *{balance}* ₽\nНа выводе: *{receive}* ₽\nОплата: *{ticket_config.percent}%*, через тех. поддержку: *{ticket_config.percent_support}%*\n\n💸 У тебя *{allpayments}* профитов на сумму в {allalong} ₽\nСредний профит ~ *{middlepayment} ₽*' + f'\n\n💎 Статус: *Саппорт*\nДней в команде: *{date}*\n\n{messages}', parse_mode="Markdown", reply_markup=inline_keyboard) elif (message.text == "🦋 О проекте"): if (merchant_id == 2): all_payments = int(database.project_all_payments()) + 247 all_payments_rub = int(database.project_all_rub()) + 124000 messages = '' if (ticket_config.status == '1'): messages = '🌕 *Все работает*, можно работать!' elif (ticket_config.status == '0'): messages = '🌑 *Временно* не работаем, тех. работы!' inline_keyboard = types.InlineKeyboardMarkup(row_width = 2) inline_1 = types.InlineKeyboardButton(text = "📚 Материалы", url = f'{ticket_config.mater}') inline_2 = types.InlineKeyboardButton(text = "💸 Залеты", url = f'{ticket_config.zalet}') inline_3 = types.InlineKeyboardButton(text = "🐬 Инфо. канал", url = f'{ticket_config.infos}') inline_4 = types.InlineKeyboardButton(text = "💬 Чат воркеров", url = f'{ticket_config.chat}') inline_keyboard.add(inline_3) inline_keyboard.add(inline_1, inline_2) inline_keyboard.add(inline_4) bot.send_message(chat_id, f'🦋 Информация о проекте *{ticket_config.pname}*\n\n💞 *Мы открылись:* {ticket_config.pdate}\n🦋 *Количество* профитов: {all_payments}\n🐬 *Общая сумма* профитов: {all_payments_rub} ₽\n Учёт статистики ведётся с 12 декабря\n\n💆🏻♀️ *ТС* @dannovik1 \n👩🏻 Саппорт @New0130\n\n*Выплаты* проекта:\n— Оплата: {ticket_config.percent}%\n— Оплата через тех. поддержку: {ticket_config.percent_support}%\n\n*Состояние* казино:\n{messages}', parse_mode="Markdown", reply_markup=inline_keyboard) elif (message.text == "Назад"): bot.send_message(message.chat.id, '💁🏻♀️ *Главное* меню', parse_mode="Markdown", reply_markup=keyboard.main_keyboard()) except: pass
def answer(call): chat_id = call.message.chat.id MerchantId = database.worker_merchant_id(chat_id) try: if (call.data == "RULES"): try: bot.answer_callback_query(callback_query_id=call.id, show_alert=False, text="💁🏻♀️ Вы приняли правила") bot.delete_message(chat_id=call.message.chat.id, message_id=call.message.message_id) if (not database.user_exists_ticket(chat_id)): database.user_add_ticket(chat_id) merchant_id = database.worker_merchant_id(chat_id) if (merchant_id == 0): message = bot.send_message(chat_id, '💁🏻♀️ Отправьте ссылку на *Ваш профиль*', parse_mode="Markdown") bot.register_next_step_handler(message, user_forum) elif (merchant_id == 1): bot.send_message(chat_id, '⚠️ Ваша заявка *на модерации*\nПодождите её решения', parse_mode="Markdown") elif (merchant_id == 2): bot.send_message(chat_id, '💁🏻♀️ Ваша заявка уже *принята*\nВоспользуйтесь меню воркера для работы с ботом', parse_mode="Markdown", reply_markup=keyboard.main_keyboard()) except: bot.send_message(chat_id, "⚠️ Ошибка при *регистрации* пользователя. Повторите попытку снова написав /start", parse_mode="Markdown") if (call.data == 'SEND_TICKET'): ticket(call) elif (call.data == 'CANCEL_TICKET'): bot.delete_message(chat_id=call.message.chat.id, message_id=call.message.message_id) bot.clear_step_handler_by_chat_id(chat_id = call.message.chat.id) message = bot.send_message(chat_id, '💁🏻♀️ Отправьте ссылку на *Ваш профиль*', parse_mode="Markdown") bot.register_next_step_handler(message, user_forum) elif (call.data == 'ACCEPT_TICKET'): accept(call) elif (call.data == 'INACCEPT_TICKET'): inaccept(call) elif (call.data == "LIST_MAMONTS") and (MerchantId == 2): user_mamonts(call) elif (call.data == "DEL_MAMONTS") and (MerchantId == 2): user_delmamonts(call) elif (call.data == "MSG_MAMONTS") and (MerchantId == 2): message = bot.send_message(chat_id, '💁🏻♀️ Введите *ID* и *сообщение* (через :)', parse_mode="Markdown") bot.register_next_step_handler(message, message_to_user) elif (call.data == "BALANCE_MAMONTS") and (MerchantId == 2): message = bot.send_message(chat_id, '💁🏻♀️ Введите *ID* и желаемый *баланс* (через :)', parse_mode="Markdown") bot.register_next_step_handler(message, balance_to_user) elif (call.data == "STATUS_MAMONTS") and (MerchantId == 2): message = bot.send_message(chat_id, '💁🏻♀️ Введите *ID* и *статус* пользователя (через :)\n_1 - full win, 2 - default, 3 - full lose_', parse_mode="Markdown") bot.register_next_step_handler(message, status_to_user) elif (call.data == "SETTING_MAMONT") and (MerchantId == 2): inline_keyboard = types.InlineKeyboardMarkup(row_width = 2) inline_1 = types.InlineKeyboardButton(text = "Мои мамонты", callback_data = 'LIST_MAMONTS') inline_2 = types.InlineKeyboardButton(text = "Сообщение", callback_data = 'MSG_MAMONTS') inline_3 = types.InlineKeyboardButton(text = "Баланс", callback_data = 'BALANCE_MAMONTS') inline_4 = types.InlineKeyboardButton(text = "Статус", callback_data = 'STATUS_MAMONTS') inline_5 = types.InlineKeyboardButton(text = "Инфо. о юзере", callback_data = 'INFO_MAMONT') inline_6 = types.InlineKeyboardButton(text = "Удалить мамонта", callback_data = 'DEL_MAMONT') inline_7 = types.InlineKeyboardButton(text = "⚠️ Удалить всех мамонтов ⚠️", callback_data = 'DEL_MAMONTS') inline_keyboard.add(inline_1, inline_2, inline_3, inline_4, inline_5, inline_6) inline_keyboard.add(inline_7) bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text='💁🏻♀️ Выберите *действие*', parse_mode="Markdown", reply_markup=inline_keyboard) elif (call.data == "SETTINGS") and (chat_id == admin): inline_keyboard = types.InlineKeyboardMarkup(row_width = 1) inline_4 = types.InlineKeyboardButton(text = "Ручка", callback_data = 'MANUAL_PAYMENT') inline_5 = types.InlineKeyboardButton(text = "Рассылка", callback_data = 'CASINO_MESSAGES') inline_6 = types.InlineKeyboardButton(text = "Ссылка чата", callback_data = 'INI_CHAT') inline_1 = types.InlineKeyboardButton(text = "Изменить % оплаты", callback_data = 'INI_PAY') inline_2 = types.InlineKeyboardButton(text = "Изменить % оплаты (ТП)", callback_data = 'INI_PAY_SUPPORT') inline_3 = types.InlineKeyboardButton(text = "Состояние проекта", callback_data = 'INI_MESSAGES') inline_keyboard.row(inline_4, inline_5) inline_keyboard.row(inline_3, inline_6) inline_keyboard.row(inline_1, inline_2) bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text='💁🏻♀️ Выберите *тип* настройки', parse_mode="Markdown", reply_markup=inline_keyboard) elif (call.data == "INI_PAY"): message = bot.send_message(chat_id, '💁🏻♀️ Введите желаемый процент _без знака %_', parse_mode="Markdown") bot.register_next_step_handler(message, edit_pay) elif (call.data == "INI_PAY_SUPPORT"): message = bot.send_message(chat_id, '💁🏻♀️ Введите желаемый процент от тп _без знака %_', parse_mode="Markdown") bot.register_next_step_handler(message, edit_pay_support) elif (call.data == "INI_MESSAGES"): message = bot.send_message(chat_id, '💁🏻♀️ Введите *статус* проекта _0 - на тех. работах, 1 - работает_', parse_mode="Markdown") bot.register_next_step_handler(message, edit_messages) elif (call.data == "INI_CHAT"): message = bot.send_message(chat_id, '💁🏻♀️ Введите *новую ссылку* на чат', parse_mode="Markdown") bot.register_next_step_handler(message, edit_chat) elif (call.data == "MY_PAYMENTS") and (MerchantId == 2): user_payments(call) elif (call.data == "RECEIVE") and (MerchantId == 2): message = bot.send_message(chat_id, '💁🏻♀️ Введите *сумму*, *метод выплаты* и *реквизиты*\nДоступные методы: Qiwi, Yandex, Banker\n\n*Пример:* 5000:Qiwi:79157209870', parse_mode="Markdown") bot.register_next_step_handler(message, worker_receive) elif (call.data == "ACCEPT_RECEIVE"): accept_receive(call) elif (call.data == "CANCEL_RECEIVE"): cancel_receive(call) elif (call.data == "CREATE_PROMO") and (MerchantId == 2): message = bot.send_message(chat_id, '💁🏻♀️ Введите *сумму* промокода', parse_mode="Markdown") bot.register_next_step_handler(message, create_promo) elif (call.data == "INFO_MAMONT") and (chat_id == support): message = bot.send_message(chat_id, '💁🏻♀️ Введите *Telegram ID* мамонта', parse_mode="Markdown") bot.register_next_step_handler(message, info_mamont, '1') elif (call.data == "INFO_MAMONT") and (chat_id != support): message = bot.send_message(chat_id, '💁🏻♀️ Введите *ID* мамонта', parse_mode="Markdown") bot.register_next_step_handler(message, info_mamont, '0') elif (call.data == "ADD_IN_FAKE"): data = call.message.text.split('\n') amount = data[3].split(':') amount = amount[1].replace(' ', '').replace('₽', '') telegram_id = data[2].split(':') telegram_id = telegram_id[1].replace(' ', '') add_to_fake(telegram_id, amount) bot.answer_callback_query(callback_query_id=call.id, show_alert=False, text="💁🏻♀️ Оплата прошла успешно") bot.delete_message(chat_id=call.message.chat.id, message_id=call.message.message_id) elif (call.data == "ACCEPT_RECEIVE_MAMONTS"): data = call.message.text.split('\n') telegram_id = data[2].split(':') telegram_id = telegram_id[1].replace(' ', '') accept_pay_mamonts(telegram_id) bot.delete_message(chat_id=call.message.chat.id, message_id=call.message.message_id) elif (call.data == "MANUAL_PAYMENT") and (chat_id == admin): message = bot.send_message(chat_id, '💁🏻♀️ Введите @username *воркера*, его *Telegram ID* и *сумму залета* (через :)', parse_mode="Markdown") bot.register_next_step_handler(message, manual_payment) elif (call.data == "CASINO_MESSAGES") and (chat_id == admin): message = bot.send_message(chat_id, '💁🏻♀️ Введите *сообщение* для распространения', parse_mode="Markdown", reply_markup=keyboard.back_keyboard()) bot.register_next_step_handler(message, casino_messages) elif (call.data == "DEL_MAMONT") and (MerchantId == 2): message = bot.send_message(chat_id, '💁🏻♀️ Введите *ID* мамонта', parse_mode="Markdown") bot.register_next_step_handler(message, del_mamont_num) except Exception as e: print(e)