-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbot_new.py
161 lines (149 loc) · 9.5 KB
/
bot_new.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import time
import telebot
import telebot.types as types
import cash
import botan
import config
#import configTest as config
bot = telebot.TeleBot(config.token)
# Инлайн-режим с непустым запросом
@bot.inline_handler(lambda query: len(query.query) > 0)
def query_text(query):
#botan.track(config.botan_key, query.from_user.id, {}, 'inline запрос')
kb = types.InlineKeyboardMarkup()
# Добавляем колбэк-кнопку с содержимым "test"
kb.add(types.InlineKeyboardButton(text="Нажми меня", callback_data="test"))
results = []
single_msg = types.InlineQueryResultArticle(
id="1", title="Press me",
input_message_content=types.InputTextMessageContent(message_text="Решил проверить, что я умею?)"),
reply_markup=kb
)
results.append(single_msg)
bot.answer_inline_query(query.id, results)
#Если сообщение на которое тыкнули из инлайн-режима
@bot.callback_query_handler(lambda call: call.inline_message_id)
def callback_inline(call):
if call.inline_message_id:
if call.data == "test":
bot.edit_message_text(inline_message_id=call.inline_message_id, text="Бдыщь")
# Если сообщение из чата с ботом
@bot.callback_query_handler(lambda call: call.message)
def callback_inline(call):
if call.data == "s1":
text = "начинаем ждать 1 секунду"
bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text=call.message.text)
bot.send_message(call.message.chat.id,text)
time.sleep(1)
text = "прошла 1 секунда"
bot.send_message(call.message.chat.id,text)
if call.data == "s5":
text = "начинаем ждать 5 секунд"
bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text=call.message.text)
bot.send_message(call.message.chat.id,text)
time.sleep(3)
text = "прошлo около 5 секунд ;)"
bot.send_message(call.message.chat.id,text)
if call.data == "s10":
text = "начинаем ждать 10 секунд"
bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text=call.message.text)
bot.send_message(call.message.chat.id,text)
time.sleep(2)
text = "нее, 10 секунд - слишком долго. Не буду я столько жать"
bot.send_message(call.message.chat.id,text)
if call.data == "test":
bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text=call.message.text)
text = 'Добро пожаловать!\nВас приветствует бот СПбГУ!\nДля абитуариентов и студентов, у нас есть специальные разделы на сайте. \nУкажите пожалйуйста свой статус:'
keyboardStart = telebot.types.InlineKeyboardMarkup()
callback_button0 = telebot.types.InlineKeyboardButton(text="Абитуриент", callback_data="abitur")
callback_button1 = telebot.types.InlineKeyboardButton(text="Студент", callback_data="students")
keyboardStart.add(callback_button0,callback_button1)
bot.send_message(call.message.chat.id, text,reply_markup=keyboardStart)
if call.data == "event":
text = "Вы выбрали раздел:\nМероприятия"
bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text=call.message.text)
bot.send_message(call.message.chat.id, text)
if call.data == "list":
text = "Вы выбрали раздел:\nРасписание"
bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text=call.message.text)
bot.send_message(call.message.chat.id, text)
if call.data == "over":
text = "Вы выбрали раздел:\nОбявления"
bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text=call.message.text)
bot.send_message(call.message.chat.id, text)
if call.data == "ab1":
text = "Вы выбрали раздел:\nЧасто задаваыемые вопросы по постулению."
bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text=call.message.text)
bot.send_message(call.message.chat.id, text)
if call.data == "ab2":
text = "Вы выбрали раздел:\nИнформация об общежитиях."
bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text=call.message.text)
bot.send_message(call.message.chat.id, text)
if call.data == "ab3":
text = "Вы выбрали раздел:\nЧасто Даты поступления."
bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text=call.message.text)
bot.send_message(call.message.chat.id, text)
if call.data == "ab4":
text = "Вы выбрали раздел:\n.Состояние моей заявки."
bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text=call.message.text)
bot.send_message(call.message.chat.id, text)
if call.data == "ab5":
text = "Вы выбрали раздел:\nМоё место в очереди"
bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text=call.message.text)
bot.send_message(call.message.chat.id, text)
if call.data == "abitur":
keyboard = telebot.types.InlineKeyboardMarkup()
for text in cash.keyb["abitur"]:
callback_button = telebot.types.InlineKeyboardButton(text=text, callback_data=cash.keyb["abitur"][text])
keyboard.add(callback_button)
bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text=call.message.text)
bot.send_message(call.message.chat.id, text='Вы Выбрали раздел Абитуриентов.', reply_markup=keyboard)
if call.data == "students":
keyboard = telebot.types.InlineKeyboardMarkup()
for text in cash.keyb["students"]:
callback_button = telebot.types.InlineKeyboardButton(text=text, callback_data=cash.keyb["students"][text])
keyboard.add(callback_button)
bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text=call.message.text)
bot.send_message(call.message.chat.id, text='Вы Выбрали раздел Студент.', reply_markup=keyboard)
@bot.message_handler(commands=['start'])
def send_welcome(message):
botan.track(config.botan_key, message.chat.id, message, '/start')
text = 'Добро пожаловать!\nВас приветствует бот СПбГУ!\nДля абитуариентов и студентов, у нас есть специальные разделы на сайте. \nУкажите пожалйуйста свой статус:'
keyboardStart = telebot.types.InlineKeyboardMarkup()
callback_button0 = telebot.types.InlineKeyboardButton(text="Абитуриент", callback_data="abitur")
callback_button1 = telebot.types.InlineKeyboardButton(text="Студент", callback_data="students")
keyboardStart.add(callback_button0,callback_button1)
bot.send_message(message.chat.id, text,reply_markup=keyboardStart)
@bot.message_handler(commands=['help'])
def send_help(message):
botan.track(config.botan_key, message.chat.id, message, '/help')
text = "Помошь:\n/help - это сообещние\n/about - о боте\n\nБот ничего не умеет.\nНо вы держитесь!"
bot.send_message(message.chat.id, text)
@bot.message_handler(commands=['about'])
def send_about(message):
botan.track(config.botan_key, message.chat.id, message, '/about')
text = 'Бот предназначен для помощи абитуриентам и студентам.\nОбратная связь: @pa_antya'
bot.send_message(message.chat.id, text)
@bot.message_handler(commands=['test'])
def send_help(message):
botan.track(config.botan_key, message.chat.id, message, '/test')
text = "вы запустили тест!"
keyboardStart = telebot.types.InlineKeyboardMarkup()
callback_button0 = telebot.types.InlineKeyboardButton(text="1 сек", callback_data="s1")
callback_button1 = telebot.types.InlineKeyboardButton(text="5 сек", callback_data="s5")
callback_button2 = telebot.types.InlineKeyboardButton(text="10 сек", callback_data="s10")
keyboardStart.add(callback_button0,callback_button1,callback_button2)
bot.send_message(message.chat.id, text, reply_markup=keyboardStart)
# Обычный режим
@bot.message_handler(content_types=["text"])
def any_msg(message):
botan.track(config.botan_key, message.chat.id, message, 'empty_text')
keyboard = telebot.types.InlineKeyboardMarkup()
callback_button = telebot.types.InlineKeyboardButton(text="Нажми меня", callback_data="test")
keyboard.add(callback_button)
bot.send_message(message.chat.id, "Что-то не то ты ввел.", reply_markup=keyboard)
if __name__ == '__main__':
bot.polling(none_stop=True)
#YandexMetrica.setCustomAppVersion("1.13.2");