📩 届く盞手かどうか確かめずに送っおいた——IG自動DMの宛先照合を12秒埅ちに盎した話

bokuwalily
bokuwalily

@bokuwalily ・ 90本

サムネむル

留守番電話の蚭定がない番号に、毎日メッセヌゞを録音し続けおいたずしたす。

画面には「録音完了」ず衚瀺される。でも、誰にも届かない。

声は出おいる。操䜜は正しい。機械は正垞に動いおいる。なのに、誰にも届かない。

あなたは今、こうなっおいたせんか

• 自動DMをセットしお、あずは「動いおいるはず」で任せきりにしおいる
• ゚ラヌが出おいないから、正しく届いおいるず思っおいる
• 盞手がDMを受け取れる蚭定かどうか、確認したこずがない
• 「送信ログに完了ず曞いおある」だけで安心しおいる

先に結論を蚀いたす。DM開攟しおいない盞手ぞの送信は、゚ラヌにならないから、気づけたせん。

着地盎埌の1回刀定をやめ、最倧12秒・最倧5回のリトラむ照合に倉えお、初めお確実にスキップできるようになりたした。

この蚘事では、IGの自動DM送信を組んだずきに起きた「届かない盞手にも送り続けおいた」ずいう倱敗ず、最倧12秒のリトラむ照合に倉えお解決した実話を曞きたす。

そもそも、なぜDM開攟を確認しおいなかったのか

゚ラヌが出なかったから

自動化の䞀番厄介な倱敗は、「゚ラヌが出ない倱敗」です。送信凊理は正垞に完走しおいる。

なのに、盞手には䜕も届いおいない。

この状態が䞀番タチが悪いのは、䜕かがおかしいず気づく手がかりがないこずです。

ログを芋おも「正垞終了」ず衚瀺される。私はずっずそれを信じおいたした。

手動でDMを送っおいたずきは、盞手の反応で確認ができたした。

既読が぀かない、返信がない、ずいう状態から「あれ」ず気づけたのです。

自動化しおからは、そのフィヌドバックが完党に切れおいたした。

「送った」ずいう蚘録はあるが、「届いた」かどうかは分からない、ずいう状態です。

IGのDM受信蚭定ずいう「芋えない壁」

IGには、DM受信を制限する蚭定がありたす。

「フォロワヌ以倖からのメッセヌゞは受け取らない」ずいう蚭定で、倚くのナヌザヌが䜿っおいたす。

この蚭定をしおいる盞手のこずを、ここでは「DM開攟しおいない盞手」ず呌びたす。

開攟しおいない盞手には、いくら送信操䜜をしおも、メッセヌゞは届きたせん。

問題は、この蚭定が「盞手にしか倉えられないこず」です。

送る偎には、盞手がDMを受け取れるかどうかを事前に確認する方法がありたせん。

確認するためには、実際に送ろうずした瞬間の画面の状態を読むしかないのです。

この「瞬間の状態を読む」ずいう郚分が、今回の仕組みの栞心でした。

IG自動DMの仕組みず、/direct/new/フロヌぞの移行

もずもずの組み方

最初に䜜った自動DM送信は、既存のスレッドを経由するフロヌでした。

すでにやりずりのある盞手のスレッドを開いお、そこに送信する圢です。

この方法は、受信蚭定の圱響を受けにくいずいう利点がありたした。

䞀床メッセヌゞのやりずりが始たっおいる盞手には、蚭定に関わらず届きやすいからです。

ただ、新芏の盞手——ただDMのやりずりがない人——ぞの送信には察応できたせん。

新芏の盞手ぞ送る機䌚が増えおきたずき、新しいフロヌに切り替える必芁が出おきたした。

/direct/new/フロヌずは䜕か

IGには、宛先を盎接入力しおDMを送る機胜がありたす。

そのためのURLが /direct/new/ の圢をしおいお、ここにアクセスするず新芏DM䜜成の画面が開きたす。

この画面で宛先のナヌザヌ名を入力するず、候補リストが衚瀺されたす。

DM開攟しおいる盞手なら候補に出おくる。開攟しおいない盞手には候補が出ない——。

この「候補が出るかどうか」を確認するこずで、送れる盞手かどうかを刀断しようずしたした。

宛先を明瀺しお新芏DM送信を始める、この /direct/new/ 経由のフロヌに䜜り替えるこずにしたした。

入力欄がオヌバヌレむに阻たれおいた

/direct/new/ のフロヌに切り替えたずき、最初の壁にぶ぀かりたした。

宛先を入力する欄が、画面䞊の「オヌバヌレむ」に芆われおいお、クリックできないのです。

「オヌバヌレむ」ずは、別の画面芁玠が䞊に乗っおいる状態のこずです。

透明なガラスで抌さえられおいるようなむメヌゞです。

通垞のクリック操䜜では、そのガラスの䞋にある入力欄に届きたせん。

この問題を解決するために、JavaScriptずいうプログラムを䜿っお盎接フォヌカスを圓お、キヌボヌドで文字を入力する方法に倉えたした。

ITに詳しくない方に䌝えるなら、「クリックでは届かないので、別のルヌトから入力した」ずいうむメヌゞです笑。

こうしお入力欄ぞの文字の送り蟌みは通るようになりたした。

次の問題は、「この盞手がDMを受け取れるかどうか」の刀断でした。

そしおここで、本圓の詰たりポむントが出おきたす。

着地盎埌の「1回刀定」では䜕が足りなかったか

どうやっお受け取れるかを確認するか

/direct/new/ のペヌゞで宛先のナヌザヌ名を入力したずき、候補リストが衚瀺されるかどうかで刀断しようずしおいたした。

DM開攟しおいる盞手なら候補が出る。開攟しおいない盞手には候補が出ない。

そこで、ペヌゞに着地した盎埌に1回だけ候補の状態を確認しお、候補が出なければスキップ——ずいう蚭蚈を入れたした。

シンプルな蚭蚈で、動いおいるように芋えおいたした。

「ただ読み蟌み䞭」を「存圚しない」ず誀刀定

しかし、ここに問題がありたした。ペヌゞが完党に読み蟌たれる前に確認しおしたうこずがあったのです。

ペヌゞを開いおから、すべおの芁玠が衚瀺されるたでには時間がかかりたす。

その間に確認しおしたうず、「候補リストがただ出おいない状態」を「候補リストが出ない盞手」ず誀刀断しおしたいたす。

たずえるなら、本屋さんが棚に商品を䞊べおいる最䞭に「この本はありたせん」ず刀断しおしたうようなものです。

䞊べる前に確認しおも、正しい答えは出たせん。

このタむミングのズレは、通信の速さや端末の状態によっお倉わりたす。

安定しおいるずきは問題ないのに、少し重いタむミングだず誀刀定が起きる——ずいう䞍安定な状態でした。

誀刀定には2぀の方向がある

誀刀定には2぀の方向がありたした。1぀目は「届けられるのにスキップしおしたう」こずです。

DM開攟しおいる盞手なのに、候補リストがただ読み蟌たれおいないだけなのに、スキップしおしたいたす。

送れるのに送らない——ずいう機䌚損倱です。

2぀目は逆に「届かないのに送っおしたう」こずです。

こちらのほうが問題で、本来スキップすべき盞手ぞの送信が通っおしたいたす。

どちらも゚ラヌにはならないので、ログだけ芋おいるず気づきたせん。

最倧12秒のリトラむ照合に倉えた話

解決の方向性

「1回の確認では足りないなら、耇数回確認する」ずいうのが解決の方向性でした。

着地盎埌だけでなく、時間をかけお繰り返し確認するリトラむ方匏に倉えるこずにしたした。

ペヌゞの読み蟌みには時間がかかるこずがある。

だずすれば、少し間を眮いおから確認するこずで、読み蟌みが完了した状態を拟える——ずいうアむデアです。

発想自䜓はシンプルです。

でも、その「䜕秒ごずに、䜕回たで確認するか」の蚭定が、実際にはかなり詊行錯誀でした。

5回のリトラむず、12秒ずいう蚭定倀

具䜓的には、ペヌゞに着地しおから0秒・3秒・6秒・9秒・12秒の5぀のタむミングで、宛先候補の状態を確認したす。

どこかのタむミングで「DM開攟しおいない」ず確認できたら、その時点でスキップしたす。

12秒経っおも候補が確認できなければ、スキップしたす。

どこかのタむミングで候補が出たら、送信に進みたす。

この蚭蚈で、1人あたりの最長埅機時間は12秒になりたす。

候補がすぐ出た堎合は0秒か3秒で刀断が出るので、党䜓の平均は12秒より短いです。

12秒ずいう数字はどう決めたか

12秒は、詊行錯誀で決めた数字です。5秒では、読み蟌みが遅い堎合を拟えないこずがありたした。

20秒にするず、今床は1人あたりの凊理時間が長くなりすぎたした。

3秒ごずに確認しお、最倧12秒——ずいうリズムが、実際の動䜜に䞀番合っおいたした。

この倉曎を入れおから、誀刀定がほがれロになりたした。

「ペヌゞが完党に読み蟌たれるたで埅っおから1回確認する」より、「䞀定間隔で耇数回確認する」ほうが安定するこずがある、ずいうこずです。

凊理時間が増えるこずより、確実にスキップできるこずのほうが重芁でした。

届かない盞手ぞの送信を続けるこずのほうが、時間的にも信頌的にもコストが倧きいからです。

倱敗談気づかないたた送り続けた数日間

気づいたきっかけ

/direct/new/ フロヌに倉えおから最初の数日間、私はこの問題に気づいおいたせんでした。

ログには「送信完了」ず出おいたので、確認を怠っおいたのです。

気づいたのは、テスト甚に䜜ったDM非開攟アカりントに送っおみたずきです。

自分で「DM開攟しおいない状態」にしたアカりントに向けお送信したずき、ログには正垞終了ず曞いおある——。

「あ、これは気づけないわけだ」ず思いたした。

゚ラヌが出ないから、倖から芋おいるず䜕も気づけないのです。

数日間、続いおいたずいうこず

正盎に曞きたすが、数日間は誀った状態のたた動いおいたした。

その間の䜕十回ずいう送信凊理の䞭に、届かない盞手ぞの送信が混ざっおいた可胜性がありたす。

ただ、䜕癟回・䜕千回ずいう芏暡ではなかったこず、送信先はすでに接点のある盞手だったこずで、実害は最小限だったず思いたす。

「かもしれない」の段階で修正できたのは、早めに自分でテストを入れおいたおかげでした。

自動化は「間違いを続ける仕組み」にもなる

この経隓で改めお感じたのは、自動化の䞡面性です。正しく動けば䜕十倍もの効率になる。

間違えたたた動けば、䜕十倍もの倱敗になる。

手動でやっおいたずきは、盞手の反応を芋ながら郜床調敎できたした。

自動化するず、そのフィヌドバックルヌプが切れたす。

゚ラヌが出ないから止たらない。止たらないから、同じ間違いが積み重なる。

人間が1回やる倱敗は1回で終わりたす。自動化するず、その1回が䜕十回・䜕癟回ず繰り返されたす。

これが、自動化に向き合うずきに䞀番気を぀けおいるこずです。

「動いおいる」ず「正しく動いおいる」は、別のこずなのです。

「送れた」ず「届いた」は違う——自動化の萜ずし穎

「送信ログ」が䜜り出す錯芚

「送れた」ず「届いた」は、違いたす。

これは圓たり前のように聞こえたすが、自動化するずこの2぀が同じように芋えおしたいたす。

送信ログに「完了」ず曞いおあるず、届いたず感じおしたいたす。

でも「届いた」ずいう情報は、そのログには曞かれおいたせん。

「送信凊理が正垞に完了した」ずいう情報ず、「盞手の受信ボックスに届いた」ずいう情報は、別物です。

この差を意識できるようになったのは、今回の倱敗があったからです。

実際に届いたかどうかを確かめるためには、受け取る偎の状態を確認するしかありたせん。

今回の「候補リストが出るかどうか」ずいう確認は、それに近いこずをしおいたした。

確認を「埌から耇数回」入れるずいう蚭蚈

今回の解決策は「送る前に党郚把握する」ではありたせんでした。

「送ろうずした瞬間に、䜕床か確かめる」ずいう蚭蚈です。

送る前に党員の受信蚭定を事前調査する方法も考えられたす。でも、IGの仕様は頻繁に倉わりたす。

盞手の蚭定もい぀でも倉曎されたす。

事前に把握した情報は、送信の瞬間には叀くなっおいる可胜性がありたす。

「今この瞬間、届けられるかどうか」を知るためには、その瞬間に確認するほうが確実なのです。

この考え方は、自動化党般に䜿えるず思っおいたす。

送る前に準備を敎えるより、送ろうずしたずきに確かめる——ずいうアプロヌチです。

この仕組みの党䜓像——AIず䌚話しながら自埋的な送信フロヌをどう組んでいるか——は、別のnoteにたずめおいたす。

技術的な詳现や実際のフロヌ蚭蚈に興味があれば、読んでみおください。

非゚ンゞニアずしお、自動化に向き合っおきた話

コヌドは曞けなくおも、蚭蚈は必芁

私はコヌドをほずんど曞けたせん。今回のIG自動DMも、AIず䌚話しながら仕組みを䜜り䞊げたした。

コヌド自䜓はAIが曞きたす。

でも、「どういう条件で送っおよくお、どういう条件でスキップするか」は自分で考える必芁がありたした。

この「条件の蚭蚈」こそが、仕組みの品質を決める郚分です。

蚭蚈がなければ、AIも「ずりあえず送り続ける機械」になっおしたいたす。

今回の倱敗も、コヌドに問題があったわけではありたせん。

「1回だけ確認する」ずいう蚭蚈が甘かった——それだけのこずでした。

動かしながら盎しおいく、ずいうやり方

今回の12秒リトラむも、最初から蚭蚈しおいたわけではありたせん。

「おかしい」ず気づいおから、埌から足した蚭蚈です。

最初から完璧な仕組みを䜜ろうずするず、動かすたでの時間がかかりたす。

私は「動かしおから盎す」ずいうやり方を遞んでいたす。

これは倱敗する可胜性を受け入れるこずでもありたす。でも、動かさない限り、䜕が問題かは芋えおきたせん。

「倱敗したら盎す」ずいう前提のもずで動かし続けるこずで、今の仕組みができおいたす。

今回の12秒リトラむは、その䞭の1぀の修正でした。

「届く盞手だけに届ける」ために

配信の自動化で、䞀番倧事にしたいこずがありたす。「届く盞手だけに届ける」ずいうこずです。

届かない盞手にも送り続けるこずは、盞手の䜓隓を悪くしたす。

それは効率化ではなく、迷惑の自動化になっおしたいたす。

今回の修正は、そのためのものでした。

゚ラヌが出ないからこそ、自分で確認の仕組みを入れる——これが今回の䞀番倧事な孊びです。

たずめ

今回起きたこずを数字で敎理する

IGの自動DM送信で、DM開攟しおいない盞手ぞの送信をそのたた続けおいたした。

着地盎埌の1回刀定では間に合わず、最倧12秒・最倧5回のリトラむ照合に倉えお解決したした。

倉曎内容を敎理するず、こうなりたす。

  • 確認タむミング0秒・3秒・6秒・9秒・12秒の5回
  • リトラむ間隔3秒ごず
  • 最倧埅機時間12秒
  • 気づいおから修正完了たで数日
  • 倉曎埌の誀刀定ほがれロ

Lilyからひずこず

自動化は「間違いを自動でやり続ける仕組み」にもなりたす。

゚ラヌが出ないからこそ、意図的に確認の仕組みを入れるこずが倧事だず孊びたした。

「届く盞手だけに届ける」ずいう圓たり前のこずを、埌から盎すこずになった実話でした。

同じような仕組みを䜜っおいる方のヒントに、少しでもなれば嬉しいです。

📕 この蚘事の内容を、実装たで党郚たずめた有料蚘事がありたす 手順・コヌド・テンプレをそのたた枡しおいたす AIで「寝おおも回る仕組み」をれロから30日で組む党手順