Skip to content

Commit

Permalink
Merge pull request #9 from tochka-lab-2021/task_and_state
Browse files Browse the repository at this point in the history
Task and state classes
  • Loading branch information
diafour authored Jan 4, 2021
2 parents df3f580 + c32ae76 commit 8f687cd
Show file tree
Hide file tree
Showing 4 changed files with 79 additions and 8 deletions.
75 changes: 67 additions & 8 deletions bot.py
Original file line number Diff line number Diff line change
@@ -1,37 +1,96 @@
#!/usr/bin/env python3

import random
import telebot
from task import Task
from state import State


def main():
# Call on "next" button press
def on_next(user_state):
task = gen_task()
print(task)
user_state.task = task.task
user_state.answer = task.answer


def user_state(user_id):
return ""


def detect_response(text):
result = True
def detect_response(user_state, text):
result = False
if text == user_state.answer:
result = True

if result:
positive_response(user_state)
else:
negative_response(user_state)

return result


def negative_response():
def negative_response(user_state):
user_state.negative_tries += 1
if user_state.negative_tries >= 2:
return "Oops + button"
return "Oops"


def positive_response():
user_state.negative_tries = 0
return "OK!"


def gen_task():
# gen 1st number
a= random.randrange(1, 9, 1)
a = random.randrange(1, 9, 1)
# gen 2nd number
b = random.randrange(1, 9, 1)
return f"{a}x{b}"

t = Task()
t.task = f"{a}x{b}"
t.answer = f"{a*b}"
return t


def get_user_state(user_id):

return State()


def save_user_state(user_state):
return None

# Start Bot
f = open("token.txt", "r")
token = f.read()
bot = telebot.TeleBot(token, parse_mode=None)


@bot.message_handler(commands=['start', 'help'])
def on_start(message):
bot.reply_to(message, "Привет! Давай порешаем примеры?")


@bot.message_handler(func=lambda m: True)
def on_all(message):
user_id = message.from_user.id

state = get_user_state(user_id)

if state.task == None:
# Generate new task, show to user.
task = gen_task()
state.task = task
state.tries = 0
state.user_id = user_id
save_user_state(state)
bot.send_message(message.chat.id, task.task)
else:
# Check answer
bot.send_message(message.chat.id, "Это ответ?")


if __name__ == "__main__":
main()
bot.polling()
Empty file removed gen-task.py
Empty file.
7 changes: 7 additions & 0 deletions state.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
class State:
# Telegram user id
user_id = None
# current task. type Task
task = None
#
tries = 0
5 changes: 5 additions & 0 deletions task.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
class Task:
# "5x7"
task = ""
# "35"
answer = ""

0 comments on commit 8f687cd

Please sign in to comment.