+$message = getTelegram()->getWebHookUpdates()->get('message')->get('text');
+
+function getBetween($content,$start){
+ $r = explode($start, $content);
+ if (isset($r[1])){
+ $r = explode($start, $r[1]);
+ return $r[0];
+ }
+ return '';
+}
+
+if ($between = getBetween(reveal($message), '[billid]')) {
+ $messages = array_values(array_filter(
+ getMessagesFromInbox(
+ getInbox(
+ 'Utilities/' . getMessageSender(getTelegram()->getWebhookUpdates()) . ' To Pay'
+ ),
+ require 'rules.php',
+ FALSE
+ ),
+ function($e) use ($between) {
+ return $e['id'] == $between;
+ }
+ ));
+
+ if(!$messages || count($messages) !== 1) {
+ getTelegram()->sendMessage([
+ 'chat_id' => getTelegram()->getWebhookUpdates()->get('message')->get('chat')->get('id'),
+ 'text' => "That doesn't look like a valid id. Use /mybills to list your bills."
+ ]);
+ return;
+ }
+
+ imap_delete(getInbox('Utilities/' . getMessageSender(getTelegram()->getWebhookUpdates()) . ' To Pay'), $messages[0]['uid'], FT_UID);
+ getTelegram()->sendMessage([
+ 'chat_id' => getTelegram()->getWebhookUpdates()->get('message')->get('chat')->get('id'),
+ 'text' => "I marked " . getMessageSenderDisplayName(getTelegram()->getWebHookUpdates()) . " as having paid the " . strtolower($messages[0]['service']) . " bill, thanks!"
+ ]);
+}
+