Reward daily consistency and mutual friend streaks.
You dedicate a streak channel, and any message a member posts there counts as their daily check-in, adding one to their number. Miss a day and the streak breaks and starts over. The bot reacts to the message that secured their day so they know immediately that it registered.
Streaks are the simplest habit mechanic on Discord: a number that grows every day a member shows up, and collapses to zero on the one day they do not. Showing up needs nothing complicated, since any message in the streak channel counts, and the bot reacts to it to confirm the day is banked.
The day does not necessarily start at UTC midnight, but at the hour you set through the offset. That is the most important setting on the page: match it to where most of your members live, or they will go to sleep thinking they checked in and wake to a broken streak.
The mutual streak moves the idea from member-and-server to member-and-member: two people pair up, and their number only grows when both show up on the same day. One of them missing breaks it for both, so each starts reminding the other. You can cap how many pairings a member may hold, with zero meaning unlimited.
Celebrations create the moments: a message on every so many days you choose, with a separate message for solo and for mutual streaks. The broken-streak announcement is the other face of it, a message shown when a member returns after a gap and their streak resets, and it pushes people to be careful far harder than the celebration does.