示例#1
0
 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")