import csv
import config
import telebot
bot = telebot.TeleBot(config.TOKEN)
def read_csv(filename):
with open(filename, newline='') as f:
reader = csv.reader(f)
data = list(reader)
return data
def check_answers(answers, data):
results = []
for task_num, answer in answers:
task_num = int(task_num)
if task_num < len(data) and data[task_num][1] == answer:
results.append(f"Задание {task_num} - правильно")
else:
results.append(f"Задание {task_num} - не правильно")
return "\n".join(results)
@bot.message_handler(content_types=['text'])
def handle_text_messages(message):
try:
answers_list = message.text.split('\n')
answers = []
for answer in answers_list:
if ')' in answer:
parts = answer.split(')')
# Continue only if there are exactly 2 parts
if len(parts) == 2:
answers.append(parts)
if not answers:
# If answers are empty after filtering
bot.send_message(message.chat.id,
"Неправильный формат ввода. Введите номер задания, затем ')', затем ответ.")
else:
csv_data = read_csv('Points.csv')
response = check_answers(answers, csv_data)
bot.send_message(message.chat.id, response)
except Exception as e:
bot.send_message(message.chat.id, str(e))
bot.polling()
