
WeTheMedia🇯🇵日本語訳チャネル制作の進捗状況2
いやーーーードキュメンテーションよく読めwwwという感じだよなー。。今までBANかなーと思っていた謎の挙動が、ようやく理解できました。
なんとキャッシュが古かっただけのようです。
ForwardするときとかremoteFileIdを使った写真・動画の投稿では、ローカルのアプリにキャッシュが存在することが大事らしいのですな。
ドキュメンテーションに書いてあるから、ちゃんとget_chat_historyしてキャッシュをリフレッシュしてからForwardするなりsendPhotoするなりすれば大丈夫のもよう。
あまりAPI叩きたくないから、お行儀よく、一回受け取ったメッセージはpickleして保存して使いまわしていたのが、裏目にでた模様。
しかも、メッセージによっては投稿できたりもするから、なんだこのランダム性は?コードは動いてるのに、ここから突然ForwardできないということはBANなのか?
と思ってしまった。
A file defined by its remote ID. The remote ID is guaranteed to be usable only if the corresponding file is still accessible to the user and known to TDLib. For example, if the file is from a message, then the message must be not deleted and accessible to the user. If the file database is disabled, then the corresponding object with the file must be preloaded by the application.
太字部分は何度か読んだ記憶あり。pickleしたんだからプリロードできてるじゃん?と思いこんでたけども、開発にデプロイメント先を含めて3台PCを使ってあちこちにpickleしたオブジェクトを使いまわしたりしたのが、きっと行けなかったなぁ。
これのせいで、TDLibが内部でつかっているSQLiteのDBにキャッシュがあるPCとないPCとが出てきたのかなー。
うーーーーーむ。しかし、ドキュメンテーションをちゃんと理解できるまで読めば、きっともっと早く気づいたであろう。
・・・ま、いいか。
だいたい技術的な問題はクリアできたはずなので、あとは睡眠時間を削ってなんとかまとめる時間があれば、全て出来るでしょう。
あ゛ー、よかったわー(TдT)