def excel_export(message): excel_db.clear_table() group = message.current_group students = group.users hws = group.homeworks for hw in hws: excel_db.add_column(str(hw.id)) for student in students: if not student.is_student(group): continue excel_db.add_student(student.name) for hw in hws: completed = hw.get_completed_from_student(student) mark = completed.marks comment = completed.comment data = str(mark) if comment is not None and comment != '': data += ', комментарий учителя: ' + comment excel_db.review_on_student(student.name, str(hw.id), data) file_name = "/tmp/mark_table.xlsx" converter.push_to_excel(file_name, group.name) bot.send_document(message.chat.id, open(file_name, 'rb'))
def upload_homework(message): chat_id = message.chat.id homework = session.query(Homework).get(message.text) bot.send_document(message.chat.id, homework.file_telegram_id) send_main_menu(message)
def sendLogs(update, context): if update.effective_message.from_user.id == OWNER_ID: with open('log.txt', 'rb') as f: bot.send_document(document=f, filename=f.name, reply_to_message_id=update.message.message_id, chat_id=update.message.chat_id)
def sendLogFile(bot, update: Update): with open("log.txt", "rb") as f: bot.send_document( document=f, filename=f.name, reply_to_message_id=update.message.message_id, chat_id=update.message.chat_id, )
def sendLogFile(bot, update: Update): with open('log.txt', 'rb') as f: bot.send_document(document=f, filename=f.name, reply_to_message_id=update.message.message_id, chat_id=update.message.chat_id) with open('aria_log.txt', 'rb') as f: bot.send_document(document=f, filename=f.name, reply_to_message_id=update.message.message_id, chat_id=update.message.chat_id)
def handler_export(update: Update, context: CallbackContext): user = session.query(User).filter( User.telegram_user_id == update.message.from_user.id).first() xls_maker = XlsMaker(user) xls = xls_maker.make_xlx_file() with tempfile.TemporaryDirectory() as tmpdirname: save_path = os.path.join( tmpdirname, "{}.xlsx".format(get_lifetime_user(user, datetime.datetime.now()))) xls.save(save_path) bot.send_document(chat_id=update.message.from_user.id, document=open(save_path, 'rb'))
def send_task(chat_id): point = view.point.cur_point(chat_id) bot.send_message(chat_id, point.task) for file in view.file.get_files_with_point(point): if file.file_type == PHOTO_TYPE: bot.send_photo(chat_id, file.file_id) elif file.file_type == DOCUMENT_TYPE: bot.send_document(chat_id, file.file_id) elif file.file_type == AUDIO_TYPE: bot.send_audio(chat_id, file.file_id) else: print('send_task problem: ', point, file.file_id, file.file_type)
def check_next2(message): chat_id = message.chat.id homework = states[chat_id] username = message.text # type: str if username.endswith(' (+)'): username = username[:-4] user = session.query(User).filter_by(name=username).one() completed_homework = session.query(CompletedHomework).filter_by( student_id=user.id, homework_id=homework.id).one() states[chat_id] = completed_homework bot.send_document(message.chat.id, completed_homework.file_telegram_id) bot.send_message(chat_id, "Оценка за дз:") bot.register_next_step_handler(message, check_next3)
def func_create_report(message): try: if message.text == content.BUTTON_MAIN_MENU: menu.first_menu(message) elif message.text == content.BUTTON_GENREPORT: menu.create_report(message) data = database.Database.show_transaction(database.DATABASE_NAME, '9999999') print(data[0]['summ']) # calculate summ and add human comment = {'':'Сумма всех транзакций в рублях:'} datawsumm = {'': 0} for pay in data: if pay['summ'] != '': datawsumm[''] += pay['summ'] data.append(comment) data.append(datawsumm) # format to human file = open(filename, "w", newline='') with file as f: df = pd.DataFrame(data) # transpose to look just like the sheet above df.to_csv(filename) df.to_excel(nicefile) file.close() # send to user file = open(nicefile, 'rb') bot.send_document(message.chat.id, file) file.close() print('Отчет сгенерирован') else: bot.send_message(message.chat.id, 'Неправильный формат сообщения, перечитайте форму') menu.create_report(message) except Exception as e: # print(e) bot.reply_to(message, 'Error create report button. Contact the administrator and please DONT use bot.')
def sendLogs(update, context): with open('log.txt', 'rb') as f: bot.send_document(document=f, filename=f.name, reply_to_message_id=update.message.message_id, chat_id=update.message.chat_id)
def main(message: Message): bot.send_chat_action(action='typing', chat_id=message.from_user.id) if dbm.get_user_language(message.from_user.id) == "NONE" and ( message.text != "English" and message.text != "Русский"): bot.send_message(message.chat.id, text.UNDEFINED_LANGUAGE) elif dbm.get_user_game_state(user_id=message.from_user.id) == "gaming" and \ dbm.get_user_game_combination(user_id=message.from_user.id) != "NONE": if RepresentsInt(message.text) and len(message.text) == 4: message_out = check_matching(message) # bot.send_message(message.chat.id, message_out) bot.reply_to(message, message_out) step = int( dbm.get_user_game_steps(user_id=message.from_user.id)) + 1 dbm.update(user_id=message.from_user.id, item='Steps', new_value=str(step)) if message_out == 'You won!' or message_out == 'Ты выиграл!': bot.send_sticker(chat_id=message.chat.id, data=text.get_random_cat_sticker()) bot.send_document(chat_id=message.chat.id, data=text.get_random_cat_gif()) games = int( dbm.get_user_games_number(user_id=message.from_user.id)) dbm.update(user_id=message.from_user.id, new_value=str(games + 1), item='Games') dbm.append_game_in_table( ID=message.from_user.id, Game_number=games + 1, Number_of_steps=dbm.get_user_game_steps( user_id=message.from_user.id)) dbm.update(user_id=message.from_user.id, new_value='NONE', item='Steps') dbm.update(user_id=message.from_user.id, new_value='NONE', item='Game_comb') dbm.update(user_id=message.from_user.id, new_value='NONE', item='Game_status') if str(dbm.get_user_best_score( user_id=message.from_user.id)) == 'NONE' or step < int( dbm.get_user_best_score( user_id=message.from_user.id)): dbm.update(user_id=message.from_user.id, new_value=str(step), item='Best_score') dbm.update(user_id=message.from_user.id, item='Game_status', new_value=states.NONE) dbm.update(user_id=message.from_user.id, item='Game_comb', new_value=states.NONE) dbm.update(user_id=message.from_user.id, item='Steps', new_value=states.NONE) elif RepresentsInt(message.text) and len(message.text) != 4: message_text = getattr( text, dbm.get_user_language(message.from_user.id) + "_send_correct_comb")() # bot.send_message(message.chat.id, message_text) bot.reply_to(message, message_text) else: message_text = getattr( text, dbm.get_user_language(message.from_user.id) + "_send_your_comb")() # bot.send_message(message.chat.id, message_text) bot.reply_to(message, message_text) else: message_text = getattr( text, dbm.get_user_language(message.from_user.id) + "_undefined_text")() #bot.send_message(message.chat.id, message_text) bot.reply_to(message, message_text)
def sendLogs(update, context): LOGGER.info('UID: {} - UN: {} - MSG: {}'.format(update.message.chat.id, update.message.chat.username, update.message.text)) with open('log.txt', 'rb') as f: bot.send_document(document=f, filename=f.name, reply_to_message_id=update.message.message_id, chat_id=update.message.chat_id)
def send_cat(message): cat = get_cat() if str(cat).split('.')[-1] == 'gif': bot.send_document(message.chat.id, cat) else: bot.send_photo(message.chat.id, cat)
def send_database(telegram_user_id): bot.send_document(chat_id=telegram_user_id, document=open(os.path.join(os.getcwd(), 'database.db'), 'rb'), disable_notification=True)