def test_get_chat(self): self.assertEqual(Chat.get_chat([self.bob, self.arthur]), self.chat_bob_arthur) self.assertEqual(Chat.get_chat([self.clair, self.bob]), self.chat_bob_clair) self.assertEqual(Chat.get_chat([self.arthur, self.morgana]), self.chat_morgana_arthur)
def help(message): with app.app_context(): bot.send_message(message.chat.id, 'Привет! Я фото-бот. Зачем я нужен? Мне всегда очень жаль, когда у Пети одни фотки, у Кати другие, у Стёпы третьи. Уже несколько лет назад было дано обещание обменяться фотками, но до дела так и не дошло. Потому что муторно :-\\' + '\n\nЯ же соберу все фото из этого чата и залью их на яндекс-диск, чтобы у всех друзей к концу отпуска был одинаковый набор фото. Также я их рассортирую по дате и времени, чтобы можно было посмотреть на моменты отпуска с разного ракурса' + '\n\nПри этом я хочу чтобы все фото из альбома можно было легко отретушировать и распечатать без потери в четкости, поэтому я их сохраняю в максимальном качестве' + '\n\nЧто нужно мне, чтобы я смог сделать всё обещанное? Просто отправлять в этом чате все фотки ФАЙЛАМИ. Сейчас покажу как.') if ChatOption.get_val(1, "android_how_to_video_id"): bot.send_video(message.chat.id, ChatOption.get_val(1, "android_how_to_video_id")) else: f = open(basedir + '/android_how_to.mp4', 'rb') msg = bot.send_document(message.chat.id, f, None) Chat.get_chat(1).add_option("android_how_to_video_id", msg.video.file_id) bot.send_message(message.chat.id, '6 шагов: \n1) скрепка\n2) тянем вверх\n3) галерея\n4) camera\n5) отмечаем фото\n6) без сжатия')
def test_models(self): Chat.save_to_db(1, "test1") ch = Chat.get_chat(1) self.assertEqual(1, ch.id) self.assertEqual("test1", ch.name) o = ch.options.all() self.assertTrue(len(o) == 2) ch.add_option("test_key", "test_val") o = ch.options.all() self.assertTrue(len(o) == 3) self.assertEqual("test_key", o[2].key) self.assertEqual("test_val", o[2].value) self.assertIsNotNone(o[2].chat) self.assertIsNotNone(ChatOption.get_val(ch.id, "test_key")) self.assertIsNone(ChatOption.get_val(ch.id, "test_val")) with self.assertRaises(Exception): ch.add_option("test_key", "exception")
def delete_file(message): with app.app_context(): file_info = bot.get_file(message.document.file_id) downloaded_file = bot.download_file(file_info.file_path) local_path = self.download_f + "/" + message.document.file_id + "_" + message.document.file_name with open(local_path, 'w+b') as new_file: new_file.write(downloaded_file) photo = Photo.get_duplicate(message.from_user.id, datetime.datetime.fromtimestamp(message.forward_date), local_path) if photo is None: bot.send_message(message.chat.id, "Нет такого фото") else: bot.delete_message(photo.chat_id, photo.msg_id) text = "Фото удалено из чата: " + Chat.get_chat(photo.chat_id).name bot.reply_to(message, text=text) yd_path = photo.get_yd_path() self.y.remove(yd_path) db.session.delete(photo) db.session.commit() self.l.info("File deleted from {0}".format(yd_path))
def init_bot_options(self): with self.app.app_context(): ch = Chat.get_chat(1) if ch is None: Chat.save_to_db(1, "BotOptions")