近しい事象に直面したので直接的ではないかもですが回答と備忘録を残します。
まず期待動作するしないで別れるのは、削除や作成を繰り返す中でリッチメニューidと「リッチメニューのエイリアスと紐づくリッチメニューid」が一致しない(もしくは削除済みのリッチメニューidがエイリアスと紐づいてしまっている)などで不整合が出たからではないかと推察します(自分の場合はこの状態になっており、デフォルトのリッチメニューの変更すら反映されない状態に陥りました)。
これは全てのリッチメニューとエイリアスを削除して作り直し、新しいリッチメニューをデフォルトのリッチメニューとして設定しなおし、ユーザーが友達追加し直すことで元に戻りました。
【回答、というか推察終わり。ここからは備忘録】
デフォルトのリッチメニューが適用されてリッチメニューが表示されているユーザーは、そのリッチメニューとリンクされている扱いにならず、ユーザーのリッチメニューのIDを取得しても「the user has no richmenu」というエラーメッセージとともに404エラー扱いになります。
200 OK が返ってきていればリンクは基本されると思います。 がもしリッチメニューの内容の更新をしたくて、リッチメニューのcreate/deleteをやっている場合は特殊な挙動をしました(LINE APIにはリッチメニューのupdate API がない)。
- リッチメニューとユーザーのリンクを解除
- 新しいリッチメニューとユーザーをリンク
- 古いリッチメニューを削除
本来上記の順序でリンクのし直しをしないといけないのですが、リンクを解除せずにリッチメニューを削除した場合はユーザーにデフォルトのリッチメニューが強制適用されます。単純にリンクするだけであればリンクの解除は不要なはずですが、リッチメニューの削除が行われる場合は先に解除して新しい方とリンクし直し、をやっておかないとデフォルトのリッチメニューに変更されてしまうようです。
【余談】 自分のブログに書く方が広告収益も入るしそうしようかと思いましたが、検索で辿り着く人が多いのはこっちだろうと思いこっちに書きました。ただこう言った貢献に対する報いは通知こない「いいね」だけ…。Web3.0になれば投稿はみんなで1つの場所に、しかし所有権や収益化は自分にという世界が実現できそうやなぁ。
「期待動作しないbot」からメッセージ送信した場合、メッセージが受信できるでしょうか。もしできないならユーザIDが間違っていると思います。ユーザIDはchannelごとに変わるので、別のchannelで入手したユーザIDは他のchannelで使用できないです。