メインコンテンツへスキップ
見出し画像

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.

    TDLibのドキュメンテーションより

    太字部分は何度か読んだ記憶あり。pickleしたんだからプリロードできてるじゃん?と思いこんでたけども、開発にデプロイメント先を含めて3台PCを使ってあちこちにpickleしたオブジェクトを使いまわしたりしたのが、きっと行けなかったなぁ。

    これのせいで、TDLibが内部でつかっているSQLiteのDBにキャッシュがあるPCとないPCとが出てきたのかなー。


    うーーーーーむ。しかし、ドキュメンテーションをちゃんと理解できるまで読めば、きっともっと早く気づいたであろう。


    ・・・ま、いいか。

    だいたい技術的な問題はクリアできたはずなので、あとは睡眠時間を削ってなんとかまとめる時間があれば、全て出来るでしょう。


    あ゛ー、よかったわー(TдT)

     
     
    海外在住ウン十年の職業研究者(生物学)。証拠の質とロジックで勝負の市民ジャーナリズム We The Media を翻訳しています(http://t.me/WTM_deepl_jp)。思考停止は致命的な現代、常識を3回位再構成しましょう。

    あなたへのおすすめ