view
from django.shortcuts import render
def run(request):
import telebot
from telebot import types
import logging
import subprocess
import requests
logging.basicConfig(level=logging.DEBUG,
format='[%(asctime)s] %(levelname)s - %(message)s',
datefmt='%H:%M:%S')
token = "319508990:AAFSRcm6Tdz7p2JpJaD8_efNkGOVG28DHMs"
bot = telebot.TeleBot(token)
@bot.message_handler(commands=['start', 'help'])
def send_keyboard(message):
# keyboard = types.ReplyKeyboardMarkup(one_time_keyboard=True, row_width=1)
# keyboard.add('ping botmaker', 'http code botmaker')
# msg = bot.send_message(message.chat.id, 'Check option', reply_markup=keyboard)
# bot.register_next_step_handler(msg, choises)
keyboard = types.InlineKeyboardMarkup(row_width=2)
keyboard.add(*[types.InlineKeyboardButton(text=name, callback_data=name) for name in ['ping botmaker',
'http code botmaker']])
msg = bot.send_message(message.chat.id, 'Choose check option', reply_markup=keyboard)
@bot.callback_query_handler(func=lambda c: True)
def choises(c):
hostname = 'botmakerplatform.com'
if c.data == 'ping botmaker':
try:
response = subprocess.check_output(
['ping', '-q', '-c', '3', hostname],
stderr=subprocess.STDOUT,
universal_newlines=True
)
bot.send_message(
chat_id=c.message.chat.id,
text=response,
parse_mode="Markdown"
)
except subprocess.CalledProcessError as e:
bot.send_message(
chat_id=c.message.chat.id,
text=e,
parse_mode='Markdown'
)
elif c.data == 'http code botmaker':
try:
connection = requests.get('https://' + hostname)
bot.send_message(
chat_id=c.message.chat.id,
text='HTTP code status: {}'.format(str(connection.status_code)),
parse_mode='Markdown',
)
except Exception as e:
bot.send_message(
chat_id=c.message.chat.id,
text=e,
parse_mode="Markdown"
)
if __name__ == "__main__":
bot.polling(none_stop=False, timeout=5)
return render(request, 'index.html', locals())