Автоматически отвечает на частые вопросы клиентов с кнопочной клавиатурой.
Этот бот для бизнеса: вместо того чтобы самому постоянно отвечать на повторяющиеся вопросы клиентов, бот автоматически отправляет готовые ответы. Он показывает клавиатуру с частыми вопросами и отвечает по ключевым словам.
Выполните эти шаги по порядку, чтобы бот запустился на вашей системе или сервере.
В файле bot.py есть часть FAQ; достаточно заменить ключ (вопрос) и значение (ответ) на свою информацию.
Нет. Если пользователь наберёт сам вопрос или даже часть ключевого слова, бот тоже даёт подходящий ответ.
Команда Filtor создаёт индивидуальную версию с подключением к панели и базе данных; свяжитесь по номеру +98 912 287 4862.
Это тот же код, что и в ZIP-файле. Можете скопировать прямо отсюда. Только не забудьте заменить значение TOKEN на токен вашего бота.
# -*- coding: utf-8 -*-
# ------------------------------------------------------------
# Telegram-бот автоответов на частые вопросы (
Как изменить вопросы и ответы?
В файле bot.py есть часть FAQ; достаточно заменить ключ (вопрос) и значение (ответ) на свою информацию.
Бот работает только с кнопками?
Нет. Если пользователь наберёт сам вопрос или даже часть ключевого слова, бот тоже даёт подходящий ответ.
Мне нужна более полная версия для магазина или компании; что делать?
Команда Filtor создаёт индивидуальную версию с подключением к панели и базе данных; свяжитесь по номеру +98 912 287 4862.
)
# Создано Filtor (filtori.com)
# ------------------------------------------------------------
# Этот бот для бизнеса: вместо того чтобы самому постоянно
# отвечать на повторяющиеся вопросы клиентов, бот отправляет
# готовые ответы.
# - показывает клавиатуру с кнопками частых вопросов
# - на каждое настроенное ключевое слово отправляет готовый ответ
#
# Замечание: Telegram-бот должен запускаться на сервере,
# имеющем доступ к api.telegram.org.
#
# Полное руководство:
# https://filtori.com/tj/telegram-bot-source/faq-bot/
# Нужна индивидуальная версия для вашего бизнеса? +98 912 287 4862
# Наш Telegram: https://t.me/filtori
# ------------------------------------------------------------
import time
import requests
# Токен бота от @BotFather
TOKEN = "ВСТАВЬТЕ_ТОКЕН_ВАШЕГО_БОТА"
BASE = f"https://api.telegram.org/bot{TOKEN}"
# ------------------------------------------------------------
# Здесь настройте частые вопросы и ответы на них.
# Ключ = текст кнопки (и то, что отправляет пользователь)
# Значение = ответ, который даёт бот
# ------------------------------------------------------------
Как изменить вопросы и ответы?
В файле bot.py есть часть FAQ; достаточно заменить ключ (вопрос) и значение (ответ) на свою информацию.
Бот работает только с кнопками?
Нет. Если пользователь наберёт сам вопрос или даже часть ключевого слова, бот тоже даёт подходящий ответ.
Мне нужна более полная версия для магазина или компании; что делать?
Команда Filtor создаёт индивидуальную версию с подключением к панели и базе данных; свяжитесь по номеру +98 912 287 4862.
= {
"Часы работы": "Мы работаем каждый день с 9:00 до 18:00 (кроме выходного дня).",
"Цены": "Чтобы получить прайс-лист, пожалуйста, оставьте номер телефона, и наш специалист свяжется с вами.",
"Адрес": "Точный адрес и маршрут на карте есть на нашем сайте: filtori.com",
"Поддержка": "Для поддержки вы можете написать свой вопрос прямо здесь или связаться с нами.",
}
# Текст кнопок, которые показываются пользователю внизу
KEYBOARD = {
"keyboard": [
[{"text": "Часы работы"}, {"text": "Цены"}],
[{"text": "Адрес"}, {"text": "Поддержка"}],
],
"resize_keyboard": True,
}
def send_message(chat_id, text, reply_markup=None):
"""Отправка сообщения; при необходимости с клавиатурой."""
url = f"{BASE}/sendMessage"
data = {"chat_id": chat_id, "text": text}
if reply_markup is not None:
data["reply_markup"] = reply_markup
try:
requests.post(url, json=data, timeout=15)
except requests.RequestException as error:
print("Ошибка отправки сообщения:", error)
def get_updates(offset):
"""Получение новых сообщений методом long polling."""
url = f"{BASE}/getUpdates"
params = {"offset": offset, "timeout": 30}
try:
return requests.get(url, params=params, timeout=40).json()
except requests.RequestException as error:
print("Ошибка получения сообщений:", error)
return {"ok": False, "result": []}
def answer(chat_id, text):
"""Основная логика: решает, какой ответ дать."""
if text == "/start":
send_message(
chat_id,
"Привет 👋 Я бот автоответов.\n"
"Нажмите одну из кнопок ниже или напишите свой вопрос.",
reply_markup=KEYBOARD,
)
return
if text in
Как изменить вопросы и ответы?
В файле bot.py есть часть FAQ; достаточно заменить ключ (вопрос) и значение (ответ) на свою информацию.
Бот работает только с кнопками?
Нет. Если пользователь наберёт сам вопрос или даже часть ключевого слова, бот тоже даёт подходящий ответ.
Мне нужна более полная версия для магазина или компании; что делать?
Команда Filtor создаёт индивидуальную версию с подключением к панели и базе данных; свяжитесь по номеру +98 912 287 4862.
:
send_message(chat_id,
Как изменить вопросы и ответы?
В файле bot.py есть часть FAQ; достаточно заменить ключ (вопрос) и значение (ответ) на свою информацию.
Бот работает только с кнопками?
Нет. Если пользователь наберёт сам вопрос или даже часть ключевого слова, бот тоже даёт подходящий ответ.
Мне нужна более полная версия для магазина или компании; что делать?
Команда Filtor создаёт индивидуальную версию с подключением к панели и базе данных; свяжитесь по номеру +98 912 287 4862.
[text], reply_markup=KEYBOARD)
return
for keyword, reply in
Как изменить вопросы и ответы?
В файле bot.py есть часть FAQ; достаточно заменить ключ (вопрос) и значение (ответ) на свою информацию.
Бот работает только с кнопками?
Нет. Если пользователь наберёт сам вопрос или даже часть ключевого слова, бот тоже даёт подходящий ответ.
Мне нужна более полная версия для магазина или компании; что делать?
Команда Filtor создаёт индивидуальную версию с подключением к панели и базе данных; свяжитесь по номеру +98 912 287 4862.
.items():
if keyword in text:
send_message(chat_id, reply, reply_markup=KEYBOARD)
return
send_message(
chat_id,
"Я не понял ваш вопрос 🤔 Выберите одну из кнопок ниже,\n"
"или свяжитесь с нами для разговора со специалистом.",
reply_markup=KEYBOARD,
)
def main():
print("Бот автоответов Filtor запущен... (Ctrl+C для остановки)")
offset = 0
while True:
updates = get_updates(offset)
if not updates.get("ok"):
time.sleep(2)
continue
for update in updates.get("result", []):
offset = update["update_id"] + 1
message = update.get("message")
if not message:
continue
chat_id = message["chat"]["id"]
text = message.get("text", "")
if text:
answer(chat_id, text)
time.sleep(0.5)
if __name__ == "__main__":
main()
В файле bot.py есть часть FAQ; достаточно заменить ключ (вопрос) и значение (ответ) на свою информацию.
Нет. Если пользователь наберёт сам вопрос или даже часть ключевого слова, бот тоже даёт подходящий ответ.
Команда Filtor создаёт индивидуальную версию с подключением к панели и базе данных; свяжитесь по номеру +98 912 287 4862.
Не нужно разбираться самому. Команда Filtor установит, настроит и подключит этого бота к вашему бизнесу.