-
Notifications
You must be signed in to change notification settings - Fork 0
/
bot.py
62 lines (53 loc) · 2.26 KB
/
bot.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
import telebot
from telebot import apihelper
from chat import Chat
from rate_limiter import RateLimiter
import dotenv
dotenv.load_dotenv()
import os
chat = Chat()
limiter = RateLimiter()
bot = telebot.TeleBot(os.getenv("BOT_TOKEN"))
@bot.message_handler(commands=["start"], chat_types=['private'])
def start(message):
bot.reply_to(message, """سلام عزیز دل
من کیانوشم. یه چند روز واسه پشتیبانی رویداد قراره اینجا جواب سوالاتتونو بدم.
اگه سوالی برات پیش اومد دستور /ask رو بزن""")
@bot.message_handler(commands=["ask"], chat_types=['private'])
def ask(message):
bot.reply_to(message, f"""جانم {message.from_user.first_name}
چه سوالی ازم داری؟""")
chat.add_user(message.from_user.id)
@bot.message_handler(content_types=['text'], chat_types=['private'])
def get_response(message):
if not chat.has_user(message.from_user.id):
bot.reply_to(message, "اگه سوالی ازم داری اول دستور /ask رو وارد کن.")
return
if not limiter.access(message.from_user.id):
bot.reply_to(message, """چند دقیقه دیگه سوال بپرس.
سوالات زیاد بود یکمی گیج شدم :(((((""")
return
if chat.count_messages(message.from_user.id) > 5:
bot.reply_to(message, """یادم رفت داشتیم درباره چی حرف میزدیم.
میشه دوباره سوالتو با /ask از اول بپرسی؟""")
return
response = chat.chat(message.from_user.id, message.text)
bot.reply_to(message, response)
@bot.message_handler(
content_types=[
'audio', 'document', 'animation', 'photo', 'sticker', 'video', 'voice'
],
chat_types=['private'],
)
def unsupported_content(message):
bot.reply_to(message, """میشه تکست بدی فقط؟ اینجا نت 3G عه :((((((""")
@bot.message_handler(
content_types=[
'text', 'audio', 'document', 'animation', 'photo', 'sticker', 'video', 'voice'
],
chat_types=['group', 'supergroup', 'channel'],
)
def unsupported_chat(message):
bot.reply_to(message, """راستش من یکمی خجالتیم.
میشه حرفامونو تو پیوی بزنیم؟ :)))))""")
bot.polling()