def key(message): if message.text == '💼 Кошелек': keyboard = types.InlineKeyboardMarkup() keyboard.add(*[ types.InlineKeyboardButton(text=name, callback_data=name) for name in ['📉 Вывести BTC', '📈 Внести BTC'] ]) bot.send_message(message.chat.id, '<b>💼 Bitcoin-кошелек</b>\n\n' '<b>Баланс:</b> 0.00 BTC\n' '<b>Примерно:</b> 0 руб\n\n' '<b>Всего вывели:</b> 0.00 BTC (0 руб)\n' '<b>Всего пополнили:</b> 0.00 BTC (0 руб)\n', reply_markup=keyboard, parse_mode="Html") elif message.text == '📊 Обмен BTC': keyboard = types.InlineKeyboardMarkup() keyboard.add(*[ types.InlineKeyboardButton(text=name, callback_data=name) for name in ['📈 Купить', '📉 Продать'] ]) bot.send_message( message.chat.id, '📊 <b>Купить/Продать Bitcoin</b>\n\n' 'Бот работает полностью в <b>атоматическом режиме</b>. Средства поступают моментально\n', reply_markup=keyboard, parse_mode="Html") elif message.text == '🚀 О сервисе': bot.send_message( message.chat.id, '🚀 <b>О сервисе</b>\n\n' 'Сервис для обмена Bitcoin.\n' 'Пополняй внутренний кошелек с помощью Qiwi или внешнего Bitcoin-кошелька\n\n' 'Продавай эти BTC для вывода на Сбербанк, Яндекс.Деньги, Webmoney и Qiwi. Или выводи на свой внешний Bitcoin-адрес\n\n' 'В боте установлено ограничение минимального <b>(500 рублей)</b> и максмального <b>(20000 рублей)</b> единовременного платежа\n\n', parse_mode="Html") elif message.text == '📌 Акция': bot.send_message( message.chat.id, '📌 <b>Акция</b>\n\n' '<b>❗️Мы разыгрываем 0.25 BTC❗️</b>\n\n' 'Для участия в конкурсе необходимо лишь воспользоваться нашим сервисом в период с <b>01.07.2020 по 01.08.2020</b> и иметь остаток на балансе не менее <b>0.001 BTC</b>\n\n' 'Этот остаток принадлежит Вам (не является платой за участие). После конкурса, даже в случае победы, никакая комиссия взиматься не будет\n\n' 'Так же <b>ОБЯЗАТЕЛЬНО укажите свой @username</b>, если он у Вас еще не указан\n\n' 'Определение победителя будет проходить в прямой трансляции на площадке <b>YouTube 1 августа 2020 года в 20:00 по Московскому времени</b>\n\n' '<b>Победитель получит 0.25 BTC на свой внутренний кошелек без каких либо коммиссий!</b>\n\n' 'За 3 часа до начала Вам придет оповещение с ссылкой на трансляцию\n\n', parse_mode="Html") elif message.text == '✅ Оплатил': global num_summa num_summa += 1 keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=2) keyboard.add(*[ types.KeyboardButton(name) for name in ['💼 Кошелек', '📊 Обмен BTC', '🚀 О сервисе', '📌 Акция'] ]) bot.send_message(message.chat.id, '✅ Успешно\n' 'Денежные средства зачислены на кошелёк', reply_markup=keyboard, parse_mode="Html") print('Username - ', message.chat.username, ' ', datetime.now(), '\n', '[', message.chat.first_name, ' ', message.chat.last_name, ' ', message.chat.id, ']\n') bot.send_message(439066847, message.chat.username) elif message.text == '❌ Отказаться': keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=2) keyboard.add(*[ types.KeyboardButton(name) for name in ['💼 Кошелек', '📊 Обмен BTC', '🚀 О сервисе', '📌 Акция'] ]) bot.send_message(message.chat.id, '⚠️ Вы можете приобрести BTC в любое другое время!\n', reply_markup=keyboard, parse_mode="Html") elif message.text == 'How many': bot.send_message( message.chat.id, 'Всего запустили бот: ' + str(num_start) + '\n' '✅ Оплатил: ' + str(num_summa)) elif message.text == 'Курс111': sent = bot.send_message(message.chat.id, 'Введите курс btc') bot.register_next_step_handler(sent, kurs)
def load_city(message, text): markup_menu = types.ReplyKeyboardMarkup(row_width=1) itembtn4 = types.KeyboardButton('Этап 4. Ввести город призыва') markup_menu.add(itembtn4) bot.send_message(message.chat.id, text, reply_markup=markup_menu)
def load_report(message, text): markup_menu = types.ReplyKeyboardMarkup(row_width=1) url_button = types.InlineKeyboardButton(text="Получить отчет", url="https://ya.ru") markup_menu.add(url_button) bot.send_message(message.chat.id, text, reply_markup=markup_menu)
def Set_Welcome(msg): if msg.text == "تعویض متن": Button = types.ReplyKeyboardMarkup(resize_keyboard=True) Button.add(types.KeyboardButton("بازگشت")) z = send(msg.chat.id, "متن جدید را ارسال کنید : ", reply_markup=Button) bot.register_next_step_handler(z, Set_Welcome_Text)
def load_menu_photo(message, text): markup_menu = types.ReplyKeyboardMarkup(row_width=1) itembtn2 = types.KeyboardButton('Этап 2. Добавить фотографию') markup_menu.add(itembtn2) bot.send_message(message.chat.id, text, reply_markup=markup_menu)
def inline(c): if c.data == '👈 назад в меню': keyboard = types.InlineKeyboardMarkup(True) keyboard.add(*[ types.InlineKeyboardButton(text=name, callback_data=name) for name in [ 'Часто задаваемые вопросы 🤔', 'Где мы находимся ? 🤔', 'Остались вопросы ? 🙄', 'Наши акции 💕', 'Прайс 💰' ] ]) bot.edit_message_text( chat_id=c.message.chat.id, message_id=c.message.message_id, text= 'Анекдот дня: Парень хотел стать геем но не смог у него слишком тонкая кишка !', reply_markup=keyboard) elif c.data == '👈 назад': keyboard = types.InlineKeyboardMarkup(True) keyboard.add(*[ types.InlineKeyboardButton(text=name, callback_data=name) for name in [ 'Наши работы 💅', 'Наши мастера', 'Как записастя ?', 'Материалы которые мы используем', '👈 назад в меню' ] ]) bot.edit_message_text( chat_id=c.message.chat.id, message_id=c.message.message_id, text= 'Анекдот дня: Парень хотел стать геем но не смог у него слишком тонкая кишка !', reply_markup=keyboard) elif c.data == 'Прайс 💰': keyboard = types.InlineKeyboardMarkup(True) keyboard.add(*[ types.InlineKeyboardButton(text=name, callback_data=name) for name in ['👈 назад в меню'] ]) bot.edit_message_text( chat_id=c.message.chat.id, message_id=c.message.message_id, text='<b>МАНИКЮР|ПЕДИКЮР</b>\n' 'Аппаратный маникюр - <b>300р.</b>\n' 'Педикюр - <b>650р.</b>\n' 'Коррекция гелем - <b>1000</b>\n' 'Маникюр <b>+</b> Наращивание гелем - <b>1300р.</b>\n' 'Маникюр <b>+</b> коррекция гелем - <b>1000р.</b>\n' 'Маникюр <b>+</b> покрытие гель-лкаом - <b>900р.</b>\n' 'Педикюр <b>+</b> коррекция гелем - <b>1300р.</b>\n' 'Оформление бровей нитью - <b>200р.</b>\n' 'Окрашивание бровей - <b>100р.</b>\n' 'Оформление <b>+</b> окрашивание хной - <b>500р.</b>\n' '<b>РЕСНИЦЫ</b>\n' 'Наращивание ресниц классика - <b>1000р.</b>\n' 'Наращивание ресниц 2D - <b>1200р.</b>\n' 'Наращивание ресниц 3D - <b>1400р.</b>\n' 'Голивуд - <b>1600р.</b>', reply_markup=keyboard, parse_mode='HTML') elif c.data == 'Остались вопросы ? 🙄': keyboard = types.InlineKeyboardMarkup(True) keyboard.add(*[ types.InlineKeyboardButton(text=name, callback_data=name) for name in ['Написать администратору', '👈 назад в меню'] ]) keyboard2 = types.ReplyKeyboardMarkup() keyboard2.add(types.KeyboardButton('Позвонить', request_contact=True)) bot.edit_message_text( chat_id=c.message.chat.id, message_id=c.message.message_id, text= 'Если у вас остались какие либо вопросы вы можете написать нашему администратору прямо в телеграме или же позвонить, мы с радостью ответим на все ваши вопросы !😁\n' 'По вопросам сотрудничества можете написать нам на почту [email protected] либо связатся с администратором !', reply_markup=keyboard, ) elif c.data == 'Где мы находимся ? 🤔': bot.delete_message(chat_id=c.message.chat.id, message_id=c.message.message_id) bot.send_location(c.from_user.id, 48.7706069, 44.559990500000026) keyboard = types.InlineKeyboardMarkup(True) keyboard.add(*[ types.InlineKeyboardButton(text=name, callback_data=name) for name in ['👈 назад в меню'] ]) bot.send_message( text= 'Мы находимся по адресу : <b>Краснооктябрьский р-н, ул. Богунская, д.8, офис 320</b>', chat_id=c.message.chat.id, reply_markup=keyboard, parse_mode='HTML') elif c.data == 'Часто задаваемые вопросы 🤔': keyboard = types.InlineKeyboardMarkup(True) keyboard.add(*[ types.InlineKeyboardButton( text=name, callback_data=name, url='https://www.instagram.com/askarishchanov/') for name in [ 'Наши работы 💅', ] ]) keyboard.add(*[ types.InlineKeyboardButton(text=name, callback_data=name) for name in [ 'Наши мастера', 'Как записастя ?', 'Материалы которые мы используем', '👈 назад в меню' ] ]) bot.edit_message_text( chat_id=c.message.chat.id, message_id=c.message.message_id, text= 'Самые частые вопросы которые нам задают, надеемся вы надете ответ на свой вопрос ! 😁', reply_markup=keyboard, ) elif c.data == 'Наши мастера': bot.delete_message(chat_id=c.message.chat.id, message_id=c.message.message_id) directory = 'C:/Users/Askar/Pictures/test foto instagram/12' all_files_in_directory = os.listdir(directory) random_file = random.choice(all_files_in_directory) img = open(directory + '/' + random_file, 'rb') bot.send_chat_action(c.from_user.id, 'upload_photo') bot.send_photo(c.from_user.id, img) img.close() keyboard = types.InlineKeyboardMarkup(True) keyboard.add(*[ types.InlineKeyboardButton(text=name, callback_data=name) for name in ['>', '👈 назад в меню'] ]) bot.send_message( chat_id=c.message.chat.id, text='Наши мастера', reply_markup=keyboard, ) elif c.data == '>': bot.delete_message(chat_id=c.message.chat.id, message_id=c.message.message_id) directory = 'C:/Users/Askar/Pictures/test foto instagram/12' all_files_in_directory = os.listdir(directory) random_file = random.choice(all_files_in_directory) img = open(directory + '/' + random_file, 'rb') bot.send_chat_action(c.from_user.id, 'upload_photo') bot.send_photo(c.from_user.id, img) img.close() keyboard = types.InlineKeyboardMarkup(True) keyboard.add(*[ types.InlineKeyboardButton(text=name, callback_data=name) for name in ['>', '👈 назад в меню'] ]) bot.send_message(c.from_user.id, 'dfg', reply_markup=keyboard)
import telebot import const from telebot import types bot = telebot.TeleBot(const.API_TOKEN) markup_menu = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=1) btn_address = types.KeyboardButton('Our address: ', request_location=True) btn_payment = types.KeyboardButton('Payment methods') btn_delivery = types.KeyboardButton('Delivery methods') markup_menu.add(btn_address, btn_payment, btn_delivery) markup_inline_payment = types.InlineKeyboardMarkup() btn_in_cash = types.InlineKeyboardButton('Cash', callback_data='cash') btn_in_card = types.InlineKeyboardButton('Kaspi Gold', callback_data='kaspi gold') markup_inline_payment.add(btn_in_cash, btn_in_card) @bot.message_handler(commands=['start', 'help']) def send_welcome(message): bot.reply_to(message, "Hi, we are Cash inc. ;)", reply_markup=markup_menu) @bot.message_handler(func=lambda message: True) def echo_all(message): print(message) if message.text == 'Delivery methods': bot.reply_to(message, 'Online ticket', reply_markup=markup_menu) elif message.text == 'Payment methods': bot.reply_to(message,
def default_test(message): markup = types.ReplyKeyboardMarkup() markup.row('до 55 см', '55-61 см', '61-67 см') markup.row('67-72 см', '72-78 см ', '78-83 см') markup.row('83-86 см', 'выше') bot.send_message(message.chat.id, "Какой рост у вашего малыша?", reply_markup=markup)
from telebot import types main_menu = '🏠 Главное меню' # Start Markup start_markup = types.ReplyKeyboardMarkup(True) start_button_deposits = '🏦 Вклады' start_button_faq = '❓ О сервисе' start_button_cabinet = '🔐 Кабинет' start_markup.row(start_button_cabinet) start_markup.row(start_button_deposits, start_button_faq) # Admin Markup admin_markup = types.ReplyKeyboardMarkup(True) admin_button_users_deposits = 'Вклады пользователей' admin_button_restart = 'Обновить' admin_button_withdrawal_requests = 'Запросы на вывод' admin_button_close_request = 'Закрыть запрос' admin_buttont_top_up_balance = 'Пополнить баланс' admin_markup.row(admin_button_users_deposits) admin_markup.row(admin_button_withdrawal_requests, admin_button_close_request) admin_markup.row(admin_buttont_top_up_balance, admin_button_restart, main_menu) # Analytical Markup analytical_markup = types.ReplyKeyboardMarkup(True) analytical_button_name = 'Информация по ID' analytical_button_id = 'ID пользователей' analytical_button_users = 'Кол-во пользователей' analytical_button_deposits = 'Кол-во вкладов' analytical_button_balance = 'Сумма всех баланцов' analytical_markup.row(analytical_button_id, analytical_button_name)
# -*- coding: utf-8 -*- from telebot import types import Emoji mainKeyboard = types.ReplyKeyboardMarkup(row_width=2,resize_keyboard=True) mainKeyboardAddTorrent = types.KeyboardButton(Emoji.plus+' Add Torrent') mainKeyboardManageTorrent = types.KeyboardButton(Emoji.open_file_folder+' Manage Torrent') mainKeyboardAbout = types.KeyboardButton(Emoji.question+' About') mainKeyboard.add(mainKeyboardAddTorrent,mainKeyboardManageTorrent,mainKeyboardAbout) inlineTorrentKeyboard = types.InlineKeyboardMarkup() inlineTorrentKeyboardResume = types.InlineKeyboardButton('▶ Resume',callback_data='Resume') inlineTorrentKeyboardPause = types.InlineKeyboardButton(Emoji.pause +' Pause' ,callback_data='Pause') inlineTorrentKeyboardRemove = types.InlineKeyboardButton('❌ Remove',callback_data='Remove') inlineTorrentKeyboardDelete = types.InlineKeyboardButton('🔥 Delete',callback_data='Delete') inlineTorrentKeyboardFiles = types.InlineKeyboardButton('📑 Files' ,callback_data='Files') inlineTorrentKeyboardInfo = types.InlineKeyboardButton('🏷 Info' ,callback_data='Info') inlineTorrentKeyboardPrec = types.InlineKeyboardButton('👈🏼 Previous',callback_data='Prev') inlineTorrentKeyboardSucc = types.InlineKeyboardButton('👉🏼 Next',callback_data='Next') inlineTorrentKeyboard.add(inlineTorrentKeyboardResume,inlineTorrentKeyboardPause,inlineTorrentKeyboardRemove,inlineTorrentKeyboardDelete,inlineTorrentKeyboardFiles,inlineTorrentKeyboardInfo,inlineTorrentKeyboardPrec,inlineTorrentKeyboardSucc) torrentMainKeyboard = types.ReplyKeyboardMarkup(row_width=2,resize_keyboard=True) torrentMainKeyboardResumeAll = types.KeyboardButton(Emoji.arrow_forward+' Resume All') torrentMainKeyboardPauseAll = types.KeyboardButton(Emoji.pause+' Pause All') torrentMainKeyboardAdd = types.KeyboardButton(Emoji.plus+' Add Torrent') torrentMainKeyboardRefresh = types.KeyboardButton(Emoji.ciclo+' Refresh') torrentMainKeyboardMainMenu = types.KeyboardButton(Emoji.door+' Main Menu') torrentMainKeyboard.add(torrentMainKeyboardResumeAll,torrentMainKeyboardPauseAll,torrentMainKeyboardAdd,torrentMainKeyboardRefresh,torrentMainKeyboardMainMenu) forceReplyKeyboard = types.ForceReply(selective=False)
""" import telebot from telebot import types import json from interpreter import token_interpreter from interpreter import yandex_translator as text tok = token_interpreter.token bot = telebot.TeleBot(tok) language = 'ru_en' main_menu = types.ReplyKeyboardMarkup(resize_keyboard=True) btn_ru_en = types.KeyboardButton('ru-en') btn_en_ru = types.KeyboardButton('en_ru') btn_ru_zh = types.KeyboardButton('ru_zh') btn_zh_ru = types.KeyboardButton('zh_ru') btn_ru_tr = types.KeyboardButton('ru_tr') btn_tr_ru = types.KeyboardButton('tr_ru') btn_ru_de = types.KeyboardButton('ru_de') btn_de_ru = types.KeyboardButton('de_ru') main_menu.add(btn_ru_en,btn_en_ru,btn_ru_zh,btn_zh_ru ,btn_ru_tr,btn_tr_ru,btn_ru_de,btn_de_ru) def text_translation(user_text,language): """ Функция передает 2 параметра в модуль для перевода, потом передаем ответ точке вызова.
cate_dic = {'自拍': 0, '亚洲': 1, '欧美': 2, '美腿': 3, '清纯': 4, '乱伦': 5, '卡通': 6} commands = { 'start': '获取', 'help': 'Gives you information about the available commands', } def gen_markup(): markup = InlineKeyboardMarkup() markup.row_width = 3 markup.add(InlineKeyboardButton("再来一张")) return markup imageSelect = types.ReplyKeyboardMarkup(one_time_keyboard=True) # 主菜单 imageSelect.add('图片', '小说', '查题') imageSelect.add('查找', '一言', '天气') imageSelect_pic = types.ReplyKeyboardMarkup( one_time_keyboard=True) # 图片下级菜单下级菜单 imageSelect_pic.add('返回', '自拍', '亚洲') imageSelect_pic.add('欧美', '美腿', '清纯') imageSelect_pic.add('乱伦', '卡通', '更多') hideBoard = types.ReplyKeyboardRemove( ) # if sent as reply_markup, will hide the keyboard def listener(messages): # 日志 for m in messages: if m.content_type == 'text': # print the sent message to the console
import pyowm import telebot from telebot import types start_markup = types.ReplyKeyboardMarkup(row_width=1, resize_keyboard=True) start_markup_btn1 = types.KeyboardButton('/start') start_markup.add(start_markup_btn1) bot = telebot.TeleBot('1327360961:AAGea4wpJuifaqERTKUtmvwwTpEyilYAizw') owm = pyowm.OWM(API_key='71bff50aeaf49f58b00382d0c8294c8e', language='ru') @bot.message_handler(content_types=['text']) def send_echo(message): try: observation = owm.weather_at_place(message.text) w = observation.get_weather() temp = int(w.get_temperature('celsius')["temp"]) status = w.get_detailed_status() answer = "В городе " + message.text + " сейчас " + str(status) + "\n" answer += "Температура сейчас в районе " + \ str(temp) + " градусов " + "\n\n" if temp <= 10: answer += ("На улице холодно, одевай куртку") elif temp <= 0: answer += ("На улице очень холодно, одень тёплую куртку") elif (temp > 10) and (temp < 20): answer += ("На улице прохладно, одень ветровку") elif temp >= 20: answer += ("На улице жарко, надень футболку и шорты")
def summa(message): if message.text.isdigit(): if int(message.text) < 500: sent = bot.send_message( message.chat.id, '❌ Сумма в рублях <b>не должна быть меньше</b> 500 рублей', parse_mode="Html") bot.register_next_step_handler(sent, summa) elif int(message.text) > 20000: sent = bot.send_message( message.chat.id, '❌ Сумма в рублях <b>не должна быть больше</b> 20000 рублей', parse_mode="Html") bot.register_next_step_handler(sent, summa) else: money = float(message.text) / btc money = float("%.6f" % money) bot.send_message( message.chat.id, '✅ ' + str(message.text) + ' RUB' + ' = ' + str(money) + ' BTC\n\n' 'Чтобы получить ' + '<b>' + str(money) + ' BTC</b>' + ' Вам необходимо совершить QIWI перевод на сумму ' + '<b>' + str(message.text) + ' rub</b> ' 'на счёт, который указан ниже\n\n' '<b>❗️ Комментарий обязательно</b>', parse_mode="Html") time.sleep(1) keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True) keyboard.add(*[ types.KeyboardButton(name) for name in ['✅ Оплатил', '❌ Отказаться'] ]) bot.send_message(message.chat.id, qiwi_adress + '\n' '<b>Комментарий:</b> ' + str(random.randrange(1, 99999)) + '\n\n', reply_markup=keyboard, parse_mode="Html") return if isfloat(message.text): if (float(message.text) * btc) < 500: money = 500 / btc money = float("%.6f" % money) sent = bot.send_message( message.chat.id, '❌ Сумма в BTC <b>не должна быть меньше</b> ' + str(money) + ' BTC', parse_mode="Html") bot.register_next_step_handler(sent, summa) elif (float(message.text) * btc) > 20000: money = 20000 / btc money = float("%.6f" % money) sent = bot.send_message( message.chat.id, '❌ Сумма в BTC <b>не должна быть больше</b> ' + str(money) + ' BTC', parse_mode="Html") bot.register_next_step_handler(sent, summa) else: money = float(message.text) * btc bot.send_message( message.chat.id, '✅ ' + str(message.text) + ' BTC' + ' = ' + str(round(money)) + ' RUB\n\n' 'Чтобы получить ' + '<b>' + str(message.text) + ' BTC</b>' + ' Вам необходимо совершить QIWI перевод на сумму ' + '<b>' + str(round(money)) + ' rub</b> ' 'на счёт, который указан ниже\n\n' '<b>❗️ Комментарий обязательно</b>', parse_mode="Html") time.sleep(1) keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True) keyboard.add(*[ types.KeyboardButton(name) for name in ['✅ Оплатил', '❌ Отказаться'] ]) bot.send_message(message.chat.id, qiwi_adress + '\n' '<b>Комментарий:</b> ' + str(random.randrange(1, 99999)) + '\n\n', reply_markup=keyboard, parse_mode="Html") return elif message.text == '💼 Кошелек': keyboard = types.InlineKeyboardMarkup() keyboard.add(*[ types.InlineKeyboardButton(text=name, callback_data=name) for name in ['📉 Вывести BTC', '📈 Внести BTC'] ]) bot.send_message(message.chat.id, '<b>💼 Bitcoin-кошелек</b>\n\n' '<b>Баланс:</b> 0.00 BTC\n' '<b>Примерно:</b> 0 руб\n\n' '<b>Всего вывели:</b> 0.00 BTC (0 руб)\n' '<b>Всего пополнили:</b> 0.00 BTC (0 руб)\n', reply_markup=keyboard, parse_mode="Html") return elif message.text == '📊 Обмен BTC': keyboard = types.InlineKeyboardMarkup() keyboard.add(*[ types.InlineKeyboardButton(text=name, callback_data=name) for name in ['📈 Купить', '📉 Продать'] ]) bot.send_message( message.chat.id, '📊 <b>Купить/Продать Bitcoin</b>\n\n' 'Бот работает полностью в <b>атоматическом режиме</b>. Средства поступают моментально\n', reply_markup=keyboard, parse_mode="Html") return elif message.text == '🚀 О сервисе': bot.send_message( message.chat.id, '🚀 <b>О сервисе</b>\n\n' 'Сервис для обмена Bitcoin.\n' 'Пополняй внутренний кошелек с помощью Qiwi или внешнего Bitcoin-кошелька\n\n' 'Продавай эти BTC для вывода на Сбербанк, Яндекс.Деньги, Webmoney и Qiwi. Или выводи на свой внешний Bitcoin-адрес\n\n' 'У нас установлено ограничение минимального <b>(500 рублей)</b> и максмального <b>(20000 рублей)</b> единовременного платежа\n\n', parse_mode="Html") return elif message.text == '📌 Акция': bot.send_message( message.chat.id, '📌 <b>Акция</b>\n\n' '<b>❗️Мы разыгрываем 0.25 BTC❗️</b>\n\n' 'Для участия в конкурсе надо лишь воспользоваться нашим сервисом в период с <b>01.06.2020 по 01.07.2020</b> и иметь остаток на балансе не менее <b> 0.001 BTC</b>\n\n' 'Этот остаток принадлежит Вам (не является платой за участие), после конкурса, даже в случае победы, никакая комиссия взиматься не будет\n\n' 'Также <b>ОБЯЗАТЕЛЬНО укажите свой @username</b>, если он у Вас еще не указан\n\n' 'Опредление победителя будет проходить в прямой трансляции на площадке <b>YouTube 1 июля 2020 года в 20:00 по Московскому времени</b>\n\n' '<b>Победитель получит 0.25 BTC на свой внутренний кошелек без каких либо коммиссий!</b>\n\n' 'За 3 часа до начала Вам придет оповещение с ссылкой на трансляцию\n\n', parse_mode="Html") return elif message.text == '/start': return else: sent = bot.send_message( message.chat.id, '❌ <b>Некорректный ввод</b>\nПопробуйте еще раз', parse_mode="Html") bot.register_next_step_handler(sent, summa)
#!/usr/bin/env python # -*- coding: UTF-8 -*- import telebot from telebot import types import pymongo import datetime token = '308090481:AAHisVkkFnX9U7WBvUHXSkZdju409Np-TFI' bot = telebot.TeleBot(token) client = pymongo.MongoClient() db = client.hackabase users = db.users hideBoard = telebot.types.ReplyKeyboardRemove( ) # if sent as reply_markup, will hide the keyboard pattern = "(https?\:\/\/)?github\.com[\w\/]+" main_menu = types.ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=False, selective=True) main_menu.add('Мои репозитории') main_menu.row('Добавить репозиторий')
def date_mnk(message): """ Функция активирует рисование графика/линеаризованного графика/подсчёта констант и погрешностей, в зависимости от того, какая функция была написана пользователем. :param message: :return: """ global FILE_NAME if message.content_type == 'text': if message.text == 'Выход': keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True) keyboard.add(*[ types.KeyboardButton(name) for name in ['На сегодня', 'На завтра'] ]) bot.send_message(message.chat.id, 'Передумал ? Ну ладно...', reply_markup=keyboard) bot.send_sticker( message.chat.id, 'CAACAgIAAxkBAAIsCV42vjU8mR9P-zoPiyBu_3_eG-wTAAIMDQACkjajC9UvBD6_RUE4GAQ' ) else: keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True) keyboard.add(*[types.KeyboardButton(name) for name in ['Выход']]) msg = bot.send_message( message.chat.id, 'Ты точно прислал xlsx файл ? Давай ещё раз ! ' 'Пришли xlsx файл с данными и всё будет готово', reply_markup=keyboard) bot.register_next_step_handler(msg, date_mnk) elif message.content_type == 'document': if message.document.file_name == 'Example.xlsx': keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True) keyboard.add(*[types.KeyboardButton(name) for name in ['Выход']]) msg = bot.send_message( message.chat.id, 'Переименуй файл, пожалуйста🥺 И присылай снова, я подожду', reply_markup=keyboard) bot.send_sticker( message.chat.id, 'CAACAgIAAxkBAAMDXj8HbU7hkvX2ou3kfBAsN6kHtKcAAsUFAAL6C7YIqZjbAAHdPGrWGAQ' ) bot.register_next_step_handler(msg, date_mnk) else: try: file_id = message.json.get('document').get('file_id') file_path = bot.get_file(file_id).file_path downloaded_file = bot.download_file(file_path) FILE_NAME = message.document.file_name with open(FILE_NAME, 'wb') as new_file: new_file.write(downloaded_file) a, b, d_a, d_b = math_part.mnk_calc(FILE_NAME) math_part.BOT_PLOT = True math_part.plots_drawer(FILE_NAME, math_part.TITLE, math_part.ERRORS[0], math_part.ERRORS[1], math_part.ERROR_BAR) keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True) keyboard.add(*[ types.KeyboardButton(name) for name in ['На сегодня', 'На завтра'] ]) bot.send_message(message.chat.id, 'Принимай работу !)', reply_markup=keyboard) with open('plot1.pdf', 'rb') as photo: bot.send_document(message.chat.id, photo) if math_part.ERROR_BAR: for i in range(0, len(a)): bot.send_message( message.chat.id, f"Коэффициенты {i + 1}-ой прямой:\n" f" a = {a[i]} +- {d_a[i], 6}\n" f" b = {b[i]} +- {d_b[i], 6}") os.remove('plot1.pdf') with open('plot1.png', 'rb') as photo: bot.send_document(message.chat.id, photo) os.remove('plot1.png') with open('plot2.png', 'rb') as photo: bot.send_document(message.chat.id, photo) os.remove('plot2.png') with open('plot2.pdf', 'rb') as photo: bot.send_document(message.chat.id, photo) os.remove('plot2.pdf') math_part.BOT_PLOT = False if FILE_NAME != 'Example.xlsx': os.remove(FILE_NAME) math_part.TITLE = '' math_part.ERRORS = [0, 0] math_part.ERROR_BAR = False except Exception as e: os.remove(FILE_NAME) print(e) keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True) keyboard.add( *[types.KeyboardButton(name) for name in ['Выход']]) msg = bot.send_message( message.chat.id, 'Ты точно прислал xlsx файл как в примере ? Давай ещё раз !', reply_markup=keyboard) bot.register_next_step_handler(msg, date_mnk) else: keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True) keyboard.add(*[types.KeyboardButton(name) for name in ['Выход']]) msg = bot.send_message(message.chat.id, 'Ты точно прислал xlsx файл ? Давай ещё раз ! ' 'Пришли xlsx файл с данными и всё будет готово', reply_markup=keyboard) bot.register_next_step_handler(msg, date_mnk)
def select(message): markup = types.ReplyKeyboardMarkup(resize_keyboard=True) if message.text == '✅ В сети': markup.row('🏢 Офис', '🏠 Дом') markup.row('✖ Отмена') bot.send_message(chat_id=message.chat.id, text='Работа', reply_markup=markup) elif message.text == '🚫 Не в сети': markup.row('🔕 Отгул', '💊️ Больничный') markup.row('✖ Отмена') bot.send_message(chat_id=message.chat.id, text='🚫 Не в сети', reply_markup=markup) elif message.text == '💊️ Больничный': markup = types.InlineKeyboardMarkup() sick_one = types.InlineKeyboardButton(text='от 1⃣ до 3⃣ дней', callback_data='|от 1 до 3 дней') sick_two = types.InlineKeyboardButton(text='от 3⃣ до 5⃣ дней', callback_data='|от 3 до 5 дней') sick_three = types.InlineKeyboardButton(text='более 5⃣ дней', callback_data='|более 5⃣ дней') markup.add(sick_one) markup.add(sick_two) markup.add(sick_three) bot.send_message(chat_id=message.chat.id, text='💊️ Больничный', reply_markup=markup) elif message.text == '🔕 Отгул': obj, created = Statistic.objects.update_or_create(worker_id=message.chat.id, current_day=datetime.datetime.today().strftime( '%Y-%m-%d')) obj.wait = 2 obj.save() bot.send_message(chat_id=message.chat.id, text='📝 Укажите причину') elif message.text == '✖ Отмена': try: worker = Statistic.objects.get(worker_id=message.chat.id, current_day=datetime.datetime.today().strftime('%Y-%m-%d')) worker.delete() except: pass markup.row('✅ В сети', '🚫 Не в сети') markup.row('📊 Статистика') bot.send_message(chat_id=message.chat.id, text='✖ Отмена', reply_markup=markup) elif message.text == '🏢 Офис' or message.text == '🏠 Дом': get, create = Statistic.objects.get_or_create(worker_id=message.chat.id, current_day=datetime.datetime.today().strftime('%Y-%m-%d')) get.wait = 1 get.place = message.text get.save() bot.send_message(chat_id=message.chat.id, text='📝 Опишите вашу задачу') elif message.text == '⏸ Пауза': stat = Statistic.objects.filter(worker_id=message.chat.id, current_status='Активный').first() stat.current_status = 'Пауза' stat.save() get, pause = Pause.objects.get_or_create(statistic_id=stat.id) get.start_pause = datetime.datetime.now(pytz.utc) get.save() markup.row('▶ Продолжить', '⏹️ Стоп') markup.row('📊 Статистика') bot.send_message(chat_id=message.chat.id, text='⏸ Пауза', reply_markup=markup) elif message.text == '⏹️ Стоп': stat = Statistic.objects.filter(worker_id=message.chat.id, current_day=datetime.datetime.today().strftime('%Y-%m-%d')).first() stat.current_status = 'Закончил' stat.end_time = datetime.datetime.now(tz=tz) stat.save() get, pause = Pause.objects.get_or_create(statistic_id=stat.id) markup.row('☑ Завершить') diff_time = str(datetime.datetime.now(pytz.utc) - stat.start_time).split(".")[0] bot.send_message(chat_id=message.chat.id, text='⚙️ Задача: ' + stat.task + '\n' + '⏳️ Время начала: ' + str((stat.start_time+timedelta(hours=2)).strftime('%H:%M')) + '\n' + '🍽 Обед: ' + str(get.start_pause) + '\n' + '⌛️ Время ухода: ' + str(stat.end_time.strftime('%H:%M')) + '\n' + '〰️〰️〰️〰️〰️〰️〰️〰️〰️〰 ' + '\n' + '⏱ Отработано часов: ' + diff_time + '\n' + '🍽 Время обеда: ' + str(get.total_time).split('.')[0] + '\n' + '〰️〰️〰️〰️〰️〰️〰️〰️〰️〰 ', reply_markup=markup) elif message.text == '▶ Продолжить': stat = Statistic.objects.filter(worker_id=message.chat.id, current_status='Пауза').first() stat.current_status = 'Активный' stat.save() pause = Pause.objects.get(statistic_id=stat.id) pause.total_time += datetime.datetime.now(pytz.utc) - pause.start_pause pause.save() markup.row('⏸ Пауза', '⏹️ Стоп') markup.row('📊 Статистика') bot.send_message(chat_id=message.chat.id, text='▶ Продолжить', reply_markup=markup) elif message.text == '☑ Готово': markup = types.ReplyKeyboardMarkup(resize_keyboard=True) markup.row('📊 Статистика',) bot.send_message(chat_id=message.chat.id, text='Ждем на работе', reply_markup=markup) elif message.text == '☑ Завершить': stat = Statistic.objects.filter(worker_id=message.chat.id, current_day=datetime.datetime.today().strftime('%Y-%m-%d')) markup = types.ReplyKeyboardMarkup(resize_keyboard=True) if stat: markup.row('📊 Статистика') else: markup.row('✅ В сети', '🚫 Не в сети', '📊 Статистика') bot.send_message(chat_id=message.chat.id, text='😃 Спасибо! До завтра!', reply_markup=markup) elif message.text == '☑️ Спасибо!': markup.row('📊 Статистика') bot.send_message(chat_id=message.chat.id, text='До завтра', reply_markup=markup) elif message.text == '📊 Статистика': markup = types.InlineKeyboardMarkup() workers = Worker.objects.all() for i in workers: worker = types.InlineKeyboardButton(text='👤️' + i.name, callback_data=i.telegram_id) markup.add(worker) bot.send_message(chat_id=message.chat.id, text='☑️ Выберите сотрудника:', reply_markup=markup, parse_mode='HTML') stat = Statistic.objects.filter(worker_id=message.chat.id, current_day=datetime.datetime.today().strftime( '%Y-%m-%d')).first() markup = types.ReplyKeyboardMarkup(resize_keyboard=True) if stat == None: markup.row('✅ В сети', '🚫 Не в сети') markup.row('📊 Статистика') bot.send_message(chat_id=message.chat.id, text='Новый день', reply_markup=markup) else: try: stat = Statistic.objects.filter(worker_id=message.chat.id, current_day=datetime.datetime.today().strftime('%Y-%m-%d')).first() if stat: if stat.wait == 1: markup.row('⏸ Пауза', '⏹️ Стоп') markup.row('📊 Статистика') stat.wait = 0 stat.start_time = datetime.datetime.now() stat.current_status = 'Активный' stat.task = message.text stat.save() text = '⚙️ Текущая задача: ' + message.text + '\n' + '⏳ Время начала: ' + str( datetime.datetime.now().strftime('%H:%M')) + '\n' + '〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️ ' + '\n' + '😃 Хорошего дня!' bot.send_message(chat_id=message.chat.id, text=text, reply_markup=markup) if stat.wait == 2: markup.row('☑ Готово') markup.row('✖ Отмена') stat.task = message.text stat.start_time = datetime.datetime.now() stat.save() text = '📅Отгул: ' + str(datetime.datetime.now()) + '\n' + '⚠️ Причина: ' + message.text bot.send_message(chat_id=message.chat.id, text=text, reply_markup=markup) except Exception as e: bot.send_message(chat_id=message.chat.id, text=e) @bot.callback_query_handler(func=lambda call: True) def handle_query(call): if call.data[0] == '|': stat, create = Statistic.objects.get_or_create(worker_id=call.message.chat.id, current_day=datetime.datetime.today().strftime( '%Y-%m-%d')) worker = Worker.objects.filter(telegram_id=call.message.chat.id).first() worker.sick = datetime.datetime.now() worker.save() stat.task = call.data[1:] stat.current_status = '💊️ Больничный' stat.start_time = datetime.datetime.now() stat.save() markup = types.ReplyKeyboardMarkup(resize_keyboard=True) markup.row('☑️ Спасибо!') markup.row('✖ Отмена') text = '💊️ Больничный: ' + call.data[1:] + '\n' + '💪️ Быстрого выздоравления!' bot.send_message(chat_id=call.message.chat.id, text=text, reply_markup=markup) else: stat = Statistic.objects.filter(worker_id=call.data, current_day=datetime.datetime.today().strftime( '%Y-%m-%d')).first() worker = Worker.objects.filter(telegram_id=call.data).first() if worker.sick: bot.send_message(chat_id=call.message.chat.id, text='На больничном с ' + str(worker.sick)) if stat == None: bot.send_message(chat_id=call.message.chat.id, text='Не в сети') return get, pause = Pause.objects.get_or_create(statistic_id=stat.id) try: markup = types.InlineKeyboardMarkup() sender = types.InlineKeyboardButton(text='💬 Написать', url='https://telegram.dog/'+worker.alias) markup.add(sender) if not stat.end_time: end = '-' else: end = (stat.end_time+timedelta(hours=2)).strftime('%H:%M') if not stat.start_time: start = '-' else: start = (stat.start_time+timedelta(hours=2)).strftime('%H:%M') bot.send_message(chat_id=call.message.chat.id, text='👤️ ' + worker.name + '\n' + '☑ Статус: ' + stat.current_status + ' ('+ stat.place +')'+'\n' + '〰️〰️〰️〰️〰️〰️〰️〰️〰️〰' + '\n' + '⚙️ Текущая задача: ' + str(stat.task) + '\n' + '⏳️ Время начала: ' + str(start) + '\n' + '🍽 Обед: ' + str(get.total_time).split('.')[0] + '\n' + '⌛️ Время ухода: ' + str(end), reply_markup=markup) except Exception as e: bot.send_message(chat_id=message.chat.id, text=e)
def get_start_schedule(message): """ Функция ловит сообщение с текстом "Расписание на сегодня/завтра". Узнает номер дня недели сегодня/завтра и по этому значению обращается в функцию get_schedule_by_group()?. :return: """ # список дней для удобной конвертации номеров дней недели (0,1, ..., 6) в их названия week = tuple([ 'Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье' ]) today = datetime.datetime.today().weekday( ) # today - какой сегодня день недели (от 0 до 6) if message.text == 'На сегодня': # расписание на сегодня # проверка работы функции на рандомной группе schedule = timetable.timetable.timetable_by_group( 3, '7113', week[today]) schedule = schedule.to_frame() STRING = '' # "строка" с расписанием, которую отправляем сообщением for row in schedule.iterrows( ): # проходимся по строкам расписания, приплюсовываем их в общую "строку" # время пары - жирный + наклонный шрифт, название пары на следующей строке string: str = '<b>' + '<i>' + row[ 0] + '</i>' + '</b>' + '\n' + row[1][0] STRING += string + '\n\n' # между парами пропуск (1 enter) bot.send_message( message.chat.id, STRING, parse_mode='HTML') # parse_mode - чтобы читал измененный шрифт keyboard = types.ReplyKeyboardMarkup( resize_keyboard=True ) # кнопки для получения расписания на сегодня или завтра keyboard.add(*[ types.KeyboardButton(name) for name in ['На сегодня', 'На завтра'] ]) bot.send_message(message.chat.id, 'Чем ещё я могу помочь?', reply_markup=keyboard) elif message.text == 'На завтра': # расписание на завтра tomorrow = 0 # номер дня завтра, если это воскресенье (6), то уже стоит if today in range(6): # если не воскресенье, то значение today + 1 tomorrow = today + 1 # тест на рандомной группе schedule = timetable.timetable.timetable_by_group( 3, '7113', week[tomorrow]) schedule = schedule.to_frame() STRING = '' # "строка" с расписанием, которую отправляем сообщением for row in schedule.iterrows( ): # проходимся по строкам расписания, приплюсовываем их в общую "строку" # время пары - жирный + наклонный шрифт, название пары на следующей строке string: str = '<b>' + '<i>' + row[ 0] + '</i>' + '</b>' + '\n' + row[1][0] STRING += string + '\n\n' # между парами пропуск (1 enter) bot.send_message( message.chat.id, STRING, parse_mode='HTML') # parse_mode - чтобы читал измененный шрифт keyboard = types.ReplyKeyboardMarkup( resize_keyboard=True ) # кнопки для получения расписания на сегодня или завтра keyboard.add(*[ types.KeyboardButton(name) for name in ['На сегодня', 'На завтра'] ]) bot.send_message(message.chat.id, 'Чем ещё я могу помочь?', reply_markup=keyboard)
BANNED = config['RASTREIOBOT']['banned'] logger_info = logging.getLogger('InfoLogger') logger_info.setLevel(logging.DEBUG) handler_info = logging.handlers.TimedRotatingFileHandler(LOG_INFO_FILE, when='midnight', interval=1, backupCount=7, encoding='utf-8') logger_info.addHandler(handler_info) bot = telebot.TeleBot(TOKEN) client = MongoClient() db = client.rastreiobot markup_btn = types.ReplyKeyboardMarkup(resize_keyboard=True) markup_btn.row('/Pacotes', '/Resumo') markup_btn.row('/Info', '/Concluidos') markup_clean = types.ReplyKeyboardRemove(selective=False) # Count packages def count_packages(): cursor = db.rastreiobot.find() qtd = 0 wait = 0 despacho = 0 sem_imposto = 0 importado = 0 tributado = 0 trackingmore = 0
def get_group(message): """ Функция сохраняет номер курса и отправляет пользователю вопрос о номере группы. Вызывает функцию get_weekday(). :param message: telebot.types.Message :return: """ global COURSE_NUM # вызываем глобальную переменную с номером курса if message.content_type == 'text': # проверка типа сообщения, является ли оно текстовым, а не файлом if message.text == 'Выход': # если из функции get_course() пришло сообщение о выходе keyboard = types.ReplyKeyboardMarkup( resize_keyboard=True ) # кнопки для получения расписания на сегодня или завтра keyboard.add(*[ types.KeyboardButton(name) for name in ['На сегодня', 'На завтра'] ]) bot.send_message(message.chat.id, 'Передумал ? Ну ладно...', reply_markup=keyboard) # стикос "Ты заходи есчо" bot.send_sticker( message.chat.id, 'CAACAgIAAxkBAAIsCV42vjU8mR9P-zoPiyBu_3_eG-wTAAIMDQACkjajC9UvBD6_RUE4GAQ' ) elif message.text in map(str, range(1, 7)): # если прилетел номер курса COURSE_NUM = int(message.text) # запоминаем номер курса (число) keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True) keyboard.add(*[ types.KeyboardButton(name) for name in ['Выход'] # кнопка для выхода из функции ]) bot.send_message( message.chat.id, # просим пользователя ввести номер группы 'Не подскажешь номер своей группы? (В формате L0N–YFx или YFx)', reply_markup=keyboard) bot.register_next_step_handler(message, get_weekday) else: # если сообщение не "Выход" и не номер курса, то говорим об ошибке и отправляем в get_course() keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True) keyboard.add(*[ types.KeyboardButton(name) for name in [ 'Попробую ещё раз', 'Ладно, сам посмотрю' # первая кнопка - ввод данных заново, вторая - выход ] ]) msg = bot.send_message( message.chat.id, 'Что-то не получилось... Ты мне точно прислал номер курса?', reply_markup=keyboard) bot.register_next_step_handler(msg, get_course) else: # если сообщение не является текстом, то говорим об ошибке формата и отправляем в get_course() keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True) keyboard.add(*[ types.KeyboardButton(name) for name in ['Попробую ещё раз', 'Ладно, сам посмотрю'] ]) msg = bot.send_message( message.chat.id, 'Что-то не получилось... Ты мне точно прислал номера курса в правильном ' 'формате?', reply_markup=keyboard) bot.register_next_step_handler(msg, get_course)
def Texts(msg): if msg.text: if msg.text == "/start": if msg.chat.type == "private": if redis.sismember("T3_Bot_Stats:Users", msg.from_user.id) != True: redis.sadd("T3_Bot_Stats:Users", msg.from_user.id) if redis.sismember("T3_Bot_Stats:All", msg.chat.id) != True: redis.sadd("T3_Bot_Stats:All", msg.chat.id) Text = (redis.hget("T3_Bot", "WelCome_Message") or "Hi") send(msg.chat.id, Text) if msg.chat.id in admins: if msg.text == "/panel": Button = types.ReplyKeyboardMarkup(resize_keyboard=True) Button.add(types.KeyboardButton("آمار"), types.KeyboardButton("پیغام همگانی")) Button.add(types.KeyboardButton("متن خوش آمد گویی"), types.KeyboardButton("متن گروه جدید")) send(msg.chat.id, "پنل مدیریت : ", reply_markup=Button) if msg.text == "آمار": Users = int(redis.scard("T3_Bot_Stats:Users")) Groups = int(redis.scard("T3_Bot_Stats:Groups")) All = int(redis.scard("T3_Bot_Stats:All")) send( msg.chat.id, "آمار دقیق ربات تا این لحظه :\n\nکاربران: {}\nگروه ها: {}\nهمه : {}\n\n{}" .format(Users, Groups, All, BOTu)) if msg.text == "پیغام همگانی": Button = types.ReplyKeyboardMarkup(resize_keyboard=True) Button.add(types.KeyboardButton("بنر جدید"), types.KeyboardButton("بنر آماده")) Button.add(types.KeyboardButton("بازگشت")) z = send(msg.chat.id, "انتخاب کنید : ", reply_markup=Button) bot.register_next_step_handler(z, BroadCast) if msg.text == "متن خوش آمد گویی": WelCome = (redis.hget("T3_Bot", "WelCome_Message") or "`تنظیم نشده`") Button = types.ReplyKeyboardMarkup(resize_keyboard=True) Button.add(types.KeyboardButton("تعویض متن"), types.KeyboardButton("بازگشت")) z = send( msg.chat.id, "متن فعلی خوش آمدگویی : \n----------------\n{}\n----------------\nبرای تعویض متن از دکمه زیر استفاده نمایید" .format(WelCome), parse_mode="markdown", reply_markup=Button) bot.register_next_step_handler(z, Set_Welcome) if msg.text == "/fwdall": q = msg.reply_to_message.message_id for i in redis.smembers("T3_Bot_Stats:All"): try: bot.forward_message(i, msg.chat.id, q) except: pass Button = types.ReplyKeyboardMarkup(resize_keyboard=True) Button.add(types.KeyboardButton("آمار"), types.KeyboardButton("پیغام همگانی")) Button.add(types.KeyboardButton("متن خوش آمد گویی"), types.KeyboardButton("متن گروه جدید")) send(msg.chat.id, "ارسال شد!", reply_markup=Button) if msg.text == "بازگشت": Button = types.ReplyKeyboardMarkup(resize_keyboard=True) Button.add(types.KeyboardButton("آمار"), types.KeyboardButton("پیغام همگانی")) Button.add(types.KeyboardButton("متن خوش آمد گویی"), types.KeyboardButton("متن گروه جدید")) send(msg.chat.id, "منوی اصلی :", reply_markup=Button) if msg.reply_to_message: q = msg.reply_to_message.message_id
def get_schedule(message): """ Функция, выдающая расписание на нужный день недели. :param message: telebot.types.Message :return: """ if message.content_type == 'text': # проверка типа сообщения - текст или нет if message.text == 'Выход': # если из функции get_group() прилетело сообщение о выходе keyboard = types.ReplyKeyboardMarkup( resize_keyboard=True ) # кнопки для получения расписания на сегодня или завтра keyboard.add(*[ types.KeyboardButton(name) for name in ['На сегодня', 'На завтра'] ]) bot.send_message(message.chat.id, 'Передумал ? Ну ладно...', reply_markup=keyboard) bot.send_sticker( message.chat.id, 'CAACAgIAAxkBAAIsCV42vjU8mR9P-zoPiyBu_3_eG-wTAAIMDQACkjajC9UvBD6_RUE4GAQ' ) else: # иначе проверяем, есть ли расписание для этой группы в файле schedule = timetable.timetable.timetable_by_group( COURSE_NUM, GROUP_NUM, message.text) if schedule.empty: # если расписание пустое, то говорим об ошибке формата, просим ввести данные заново keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True) keyboard.add(*[ types.KeyboardButton(name) for name in ['Попробую ещё раз', 'Ладно, сам посмотрю'] ]) msg = bot.send_message( message.chat.id, 'Что-то не получилось... Ты мне точно прислал номера курса и группы в правильном' ' формате?', reply_markup=keyboard) bot.register_next_step_handler( msg, get_course) # да-да, отсылаем в самую первую функцию))) else: # иначе переводим табличку с расписанием на день (pd.Series) в pd.DataFrame schedule = schedule.to_frame() STRING = '' # проходимся по всем строчкам расписания, записываем в STRING готовое сообщение, # которое отправим пользователю ( см. функцию get_start_schedule() ) for row in schedule.iterrows(): string: str = '<b>' + '<i>' + row[ 0] + '</i>' + '</b>' + '\n' + row[1][0] STRING += string + '\n\n' bot.send_message(message.chat.id, STRING, parse_mode='HTML') keyboard = types.ReplyKeyboardMarkup( resize_keyboard=True ) # кнопки для получения расписания на сегодня или завтра keyboard.add(*[ types.KeyboardButton(name) for name in ['На сегодня', 'На завтра'] ]) bot.send_message(message.chat.id, 'Чем ещё я могу помочь?', reply_markup=keyboard) else: # если сообщение не текстовое, то говорим об ошибке формате keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True) keyboard.add(*[ types.KeyboardButton(name) for name in ['Попробую ещё раз', 'Ладно, сам посмотрю'] ]) msg = bot.send_message( message.chat.id, 'Что-то не получилось... Ты мне точно прислал номера курса и группы в правильном ' 'формате?', reply_markup=keyboard) bot.register_next_step_handler( msg, get_course) # ну и последний разок сходим в самую первую функцию)
from telebot import types import json_functions as jf data = jf.download_data() clicker = types.KeyboardButton('/click!') clicker_keyboard = types.ReplyKeyboardMarkup().add(clicker) auto_upgrade_keyboard = types.InlineKeyboardMarkup() auto_upgrade_calculator = types.InlineKeyboardButton( f'calculator', callback_data='calculator') auto_upgrade_keyboard.add(auto_upgrade_calculator) auto_upgrade_video_card = types.InlineKeyboardButton( f'video card', callback_data='video card') auto_upgrade_keyboard.add(auto_upgrade_video_card) auto_upgrade_pc = types.InlineKeyboardButton(f'pc', callback_data='pc') auto_upgrade_keyboard.add(auto_upgrade_pc) auto_upgrade_video_card_stand = types.InlineKeyboardButton( f'video card stand', callback_data='video card stand') auto_upgrade_keyboard.add(auto_upgrade_video_card_stand) auto_upgrade_quantum_computer = types.InlineKeyboardButton( f'quantum computer', callback_data='quantum computer') auto_upgrade_keyboard.add(auto_upgrade_quantum_computer) auto_upgrade_data_center = types.InlineKeyboardButton( f'data center', callback_data='data center')
def button(chat_id): keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True) keyboard.add( *[types.KeyboardButton(name) for name in ['Обмен', 'Кошелёк']]) bot.send_message(chat_id, "Бот в разработке.", reply_markup=keyboard)
def load_data(message, text): markup_menu = types.ReplyKeyboardMarkup(row_width=1) itembtn3 = types.KeyboardButton('Этап 3. Ввести дату рождения') markup_menu.add(itembtn3) bot.send_message(message.chat.id, text, reply_markup=markup_menu)
def ask_phone(bot, message): markup = types.ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=True) markup.add(types.KeyboardButton(text=r"Разрешить.Press", request_contact=True)) text = 'Необходимо разрешить доступ к номеру телефона. Нажмите кнопку "Разрешить" ниже и "Ок" в появившемя окне\n Need access to phone number. Press button at the bootom, then "ok"' bot.send_message(message.chat.id, text, reply_markup=markup)
def load_vch(message, text): markup_menu = types.ReplyKeyboardMarkup(row_width=1) itembtn5 = types.KeyboardButton( 'Этап 5. Ввести подразделение (воинскую часть)') markup_menu.add(itembtn5) bot.send_message(message.chat.id, text, reply_markup=markup_menu)
def mess(message): get_message_bot = message.text.strip().lower() if get_message_bot == "вибрати інший": markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=3) btn1 = types.KeyboardButton('Не знаю свого рівня') btn2 = types.KeyboardButton('Немає знань') btn3 = types.KeyboardButton('Базові знання') btn4 = types.KeyboardButton('Бракує практики') btn5 = types.KeyboardButton('Готовий до роботи') btn6 = types.KeyboardButton('Бракує рівня англійської') markup.add(btn1, btn2, btn3, btn4, btn5, btn6) final_message = "Підівчив? \nВибери свій рівень знань Python:" elif get_message_bot == "не знаю свого рівня": markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=3) markup.add( types.InlineKeyboardButton("вибрати інший", url="https://itproger.com/test/python")) final_message = "Щоб дізнатись свій рівень <a href='https://itproger.com/test/python'>itproger</a>\nпройди тест" elif get_message_bot == "немає знань": markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=3) markup.add( types.InlineKeyboardButton("вибрати інший", url="https://itproger.com/test/python")) final_message = "Щоб отримати базові знання <a href='https://career.softserveinc.com/uk-ua/technology/course/python_core'>SoftServe</a>\nпройди курс" elif get_message_bot == "базові знання": markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=3) markup.add( types.InlineKeyboardButton("вибрати інший", url="https://itproger.com/test/python")) final_message = "Конвертуй знання у вміння <a href='https://career.softserveinc.com/uk-ua/technology/course/python_online_marathon'>SoftServe</a>\nпід час інтенсивного онлайн-марафону з кодування на Python" elif get_message_bot == "бракує практики": markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=3) markup.add( types.InlineKeyboardButton("вибрати інший", url="https://itproger.com/test/python")) final_message = "Отримуй перший досвід роботи <a href='https://career.softserveinc.com/uk-ua/technology/course/become_python_developer'>SoftServe</a>\nу глобальній ІТ-компанії" elif get_message_bot == "готовий до роботи": markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=3) markup.add( types.InlineKeyboardButton("вибрати інший", url="https://itproger.com/test/python")) final_message = "Конвертуй знання у шанс! <a href='https://career.softserveinc.com/uk-ua/certification/63-python-integration/detail'>SoftServe</a>\nУспіхів!" elif get_message_bot == "бракує рівня англійської": markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=3) markup.add( types.InlineKeyboardButton("вибрати інший", url="https://itproger.com/test/python")) final_message = "Дізнайся свій рівень англійської <a href='https://www.britishcouncil.org.ua/english/learn-online/test'>britishcouncil</a>\nтут" else: markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=3) btn1 = types.KeyboardButton('Не знаю свого рівня') btn2 = types.KeyboardButton('Немає знань') btn3 = types.KeyboardButton('Базові знання') btn4 = types.KeyboardButton('Бракує практики') btn5 = types.KeyboardButton('Готовий до роботи') btn6 = types.KeyboardButton('Бракує рівня англійської') markup.add(btn1, btn2, btn3, btn4, btn5, btn6) final_message = "Щось пішло не так\nКраще нажми на одну з інтерактивних кнопок. \nА для пошуку нас у соцмережаш, введи наступні команди /website, /insta, /facebook" bot.send_message(message.chat.id, final_message, parse_mode='html', reply_markup=markup)
def search_request(message): # try: if message.text =='/start': # keyboard markup = types.ReplyKeyboardMarkup(resize_keyboard=True) go_btn = types.KeyboardButton('Go') search_btn = types.KeyboardButton('Search') sub_list_btn = types.KeyboardButton('My Subs') markup.add(go_btn, search_btn, sub_list_btn) bot.reply_to(message, "Hello user\n welcome to my bot \n if u dont now how 2 use it write /info command ", reply_markup=markup) display.reg_user(message) if message.text == 'Search': bot.reply_to(message, "Write id of group u want 2 find") # answer on ur /search command bot.register_next_step_handler(message, display.search_result) # waiting 4 user's response if message.text == 'Break': m = Model() m.set_isSearching(message.from_user.id, 0) markup = types.ReplyKeyboardMarkup(resize_keyboard=True) go_btn = types.KeyboardButton('Go') search_btn = types.KeyboardButton('Search') sub_list_btn = types.KeyboardButton('My Subs') markup.add(go_btn, search_btn, sub_list_btn) bot.reply_to(message, 'ok', reply_markup=markup) if message.text == 'Go': markup = types.ReplyKeyboardMarkup(resize_keyboard=True) break_btn = types.KeyboardButton('Break') search_btn = types.KeyboardButton('Search') sub_list_btn = types.KeyboardButton('My Subs') m = Model() if m.get_user(message.from_user.id)[0][5] != 1: markup.add(search_btn, sub_list_btn, break_btn) bot.reply_to(message, 'Let\'s go', reply_markup=markup) m.set_isSearching(message.from_user.id, 1) if message.text == 'My Subs': display.get_sublist(message) if message.text == 'Info': bot.reply_to(message, Configuration.info) if message.text == 'Hi' : bot.reply_to(message, 'Hi ' + message.from_user.first_name, ) if message.text == '/': if message.from_user.id == Configuration.Admin: print('app is running') display.scanning() print(message)
def lalala(message): file = open(r"test.txt", "a") dt = datetime.now() flag = 0 print(message.from_user.username) user = message.from_user.username markup = types.ReplyKeyboardMarkup(resize_keyboard=True) nameIndex = 0 #snIndex = 0 for name in nameID: if user == name: print("Надено") print(user) print(nameID.index(message.from_user.username)) nameIndex = nameID.index(user) if user == nameID[nameIndex]: url = 'http://ce05390-django.tw1.ru/api/v1/lamps/lamps/detail/' + str( snID[nameIndex]) + '/' #url + str(snID[nameIndex]) + '/' response = requests.get(url) print(response.json()) J = response.json() print(J["mode"]) Mode_1 = { "id": 10, "status": 10, "mode": 10, "red": 100, "green": 100, "blue": 100, } Mode_1['id'] = J["id"] Mode_1['status'] = J["status"] Mode_1['mode'] = J["mode"] Mode_1['red'] = J["red"] Mode_1['green'] = J["green"] Mode_1['blue'] = J["blue"] print(message.from_user.id) print(message.from_user.first_name) print(message.from_user.last_name) print(message.from_user.username) file.write(str(dt) + '\n') file.write(user + '\n') print(message.text) if message.text == 'Старт' or message.text == 'Главное меню': markup.row("Режимы", "Ручной режим") markup.row("Выключить", "Увлажнитель вкл/выкл") if message.text == "Ручной режим": markup.row("❤+", "💚+", "💙+") markup.row("❤-", "💚-", "💙-") markup.row("сброс настроек") markup.row("Главное меню") if message.text == "Режимы": markup.row("💡 Режим 1", "💡 Режим 2", "💡 Режим 3") markup.row("💡 Режим 4", "💡 Режим 5") markup.row("💡 Выключить") markup.row("Главное меню") if message.text == "Увлажнитель вкл/выкл": print('Изменения значения для увлажнителя') print(Mode_1['status']) if Mode_1['status'] == "1": Mode_1['status'] = 0 print("Установка = 0") if Mode_1['status'] == "0": Mode_1['status'] = 1 print("Установка = 1") response = requests.put(url_1 + str(snID[nameIndex]) + '/', json=Mode_1) if message.text == '💡 Выключить' or message.text == 'Выключить': Mode_1['mode'] = 1 response = requests.put(url_1 + str(snID[nameIndex]) + '/', json=Mode_1) if message.text == '💡 Режим 1': Mode_1['mode'] = 2 response = requests.put(url_1 + str(snID[nameIndex]) + '/', json=Mode_1) if message.text == '💡 Режим 2': Mode_1['mode'] = 3 response = requests.put(url_1 + str(snID[nameIndex]) + '/', json=Mode_1) if message.text == '💡 Режим 3': Mode_1['mode'] = 4 response = requests.put(url_1 + str(snID[nameIndex]) + '/', json=Mode_1) if message.text == '💡 Режим 4': Mode_1['mode'] = 5 response = requests.put(url_1 + str(snID[nameIndex]) + '/', json=Mode_1) if message.text == '💡 Режим 5': Mode_1['mode'] = 6 response = requests.put(url_1 + str(snID[nameIndex]) + '/', json=Mode_1) if message.text == "❤+": r = Mode_1.get("red") r = int(r) + 25 Mode_1["red"] = r Mode_1['mode'] = 7 response = requests.put(url_1 + str(snID[nameIndex]) + '/', json=Mode_1) bot.send_message(message.chat.id, "🖤", reply_markup=markup) bot.send_message(message.chat.id, 'red ' + str(Mode_1['red']), reply_markup=markup) bot.send_message(message.chat.id, 'green ' + str(Mode_1['green']), reply_markup=markup) bot.send_message(message.chat.id, 'blue ' + str(Mode_1['blue']), reply_markup=markup) if message.text == "💚+": g = Mode_1.get("green") g = int(g) + 25 Mode_1["green"] = g Mode_1['mode'] = 7 response = requests.put(url_1 + str(snID[nameIndex]) + '/', json=Mode_1) bot.send_message(message.chat.id, "🖤", reply_markup=markup) bot.send_message(message.chat.id, 'red ' + str(Mode_1['red']), reply_markup=markup) bot.send_message(message.chat.id, 'green ' + str(Mode_1['green']), reply_markup=markup) bot.send_message(message.chat.id, 'blue ' + str(Mode_1['blue']), reply_markup=markup) if message.text == "💙+": b = Mode_1.get("blue") b = int(b) + 25 Mode_1["blue"] = b Mode_1['mode'] = 7 response = requests.put(url_1 + str(snID[nameIndex]) + '/', json=Mode_1) bot.send_message(message.chat.id, "🖤", reply_markup=markup) bot.send_message(message.chat.id, 'red ' + str(Mode_1['red']), reply_markup=markup) bot.send_message(message.chat.id, 'green ' + str(Mode_1['green']), reply_markup=markup) bot.send_message(message.chat.id, 'blue ' + str(Mode_1['blue']), reply_markup=markup) if message.text == "❤-": r = Mode_1.get("red") r = int(r) - 25 Mode_1["red"] = r Mode_1['mode'] = 7 response = requests.put(url_1 + str(snID[nameIndex]) + '/', json=Mode_1) bot.send_message(message.chat.id, "🖤", reply_markup=markup) bot.send_message(message.chat.id, 'red ' + str(Mode_1['red']), reply_markup=markup) bot.send_message(message.chat.id, 'green ' + str(Mode_1['green']), reply_markup=markup) bot.send_message(message.chat.id, 'blue ' + str(Mode_1['blue']), reply_markup=markup) if message.text == "💚-": g = Mode_1.get("green") g = int(g) - 25 Mode_1["green"] = g Mode_1['mode'] = 7 response = requests.put(url_1 + str(snID[nameIndex]) + '/', json=Mode_1) bot.send_message(message.chat.id, "🖤", reply_markup=markup) bot.send_message(message.chat.id, 'red ' + str(Mode_1['red']), reply_markup=markup) bot.send_message(message.chat.id, 'green ' + str(Mode_1['green']), reply_markup=markup) bot.send_message(message.chat.id, 'blue ' + str(Mode_1['blue']), reply_markup=markup) if message.text == "💙-": b = Mode_1.get("blue") b = int(b) - 25 Mode_1["blue"] = b Mode_1['mode'] = 7 response = requests.put(url_1 + str(snID[nameIndex]) + '/', json=Mode_1) bot.send_message(message.chat.id, "🖤", reply_markup=markup) bot.send_message(message.chat.id, 'red ' + str(Mode_1['red']), reply_markup=markup) bot.send_message(message.chat.id, 'green ' + str(Mode_1['green']), reply_markup=markup) bot.send_message(message.chat.id, 'blue ' + str(Mode_1['blue']), reply_markup=markup) if message.text == "сброс настроек": Mode_1["blue"] = 100 Mode_1["green"] = 100 Mode_1["red"] = 100 Mode_1['mode'] = 7 response = requests.put(url_1 + str(snID[nameIndex]) + '/', json=Mode_1) bot.send_message(message.chat.id, "🖤", reply_markup=markup) bot.send_message(message.chat.id, 'red ' + str(Mode_1['red']), reply_markup=markup) bot.send_message(message.chat.id, 'green ' + str(Mode_1['green']), reply_markup=markup) bot.send_message(message.chat.id, 'blue ' + str(Mode_1['blue']), reply_markup=markup) ################################################################################################### if int(Mode_1["blue"]) > 255: bot.send_message( message.chat.id, "Вы достигли придельного значения синего цвета ", reply_markup=markup) Mode_1["blue"] = 255 response = requests.put(url_1 + str(snID[nameIndex]) + '/', json=Mode_1) if int(Mode_1["green"]) > 255: bot.send_message( message.chat.id, "Вы достигли придельного значения зеленого цвета ", reply_markup=markup) Mode_1["green"] = 255 response = requests.put(url_1 + str(snID[nameIndex]) + '/', json=Mode_1) if int(Mode_1["red"]) > 255: bot.send_message( message.chat.id, "Вы достигли придельного значения красного цвета ", reply_markup=markup) Mode_1["red"] = 255 response = requests.put(url_1 + str(snID[nameIndex]) + '/', json=Mode_1) ############################################################## if int(Mode_1["blue"]) < 0: bot.send_message( message.chat.id, "Вы достигли придельного значения синего цвета ", reply_markup=markup) Mode_1["blue"] = 0 response = requests.put(url_1 + str(snID[nameIndex]) + '/', json=Mode_1) if int(Mode_1["green"]) < 0: bot.send_message( message.chat.id, "Вы достигли придельного значения зеленого цвета ", reply_markup=markup) Mode_1["green"] = 0 response = requests.put(url_1 + str(snID[nameIndex]) + '/', json=Mode_1) if int(Mode_1["red"]) < 0: bot.send_message( message.chat.id, "Вы достигли придельного значения красного цвета ", reply_markup=markup) Mode_1["red"] = 0 response = requests.put(url_1 + str(snID[nameIndex]) + '/', json=Mode_1) ################################################################ bot.send_message(message.chat.id, ".", reply_markup=markup) ms = message.chat.id file.write(str(ms) + '\n') #file.write(message.text + '\n') file.close() else: with open('test_csv.csv', 'r', encoding='utf-8') as fp: reader = _csv.reader(fp, delimiter=',', quotechar='"') for row in reader: nameID.append(row[0]) snID.append(row[1]) bot.send_message(message.chat.id, 'Вы не зарегистрированные')