|
123456789101112131415161718192021222324 |
- from ananas import PineappleBot, html_strip_tags, reply
-
- class PingBot(PineappleBot):
- def start(self):
- self.notifiees = self.config.notify.split(',')
- self.notifiees_str = ", ".join(self.notifiees)
- print(f"Now monitoring {self.config.monitor}; pinging {self.notifiees_str}.")
-
- @reply
- def post_response(self, mention, user):
- petitioner = user["acct"]
- if petitioner != self.config.monitor: # Prevent self-replies
- msg = mention["uri"]
- if self.config.full_message:
- msg += f"\n\n{html_strip_tags(mention['content'])}"
- visibility = 'direct'
- # This is for logging purposes. You may wish to redirect this into a text log.
- print(f"Received a reply from {petitioner}. Pinging {self.notifiees_str}.")
-
- notify_list = " ".join(self.notifiees)
- status = f"{notify_list} {self.monitor} has received a new message from {petitioner}:\n\n{msg}"
- if len(status) > 450: # don't let the post get too long!
- status = status[:450] + " ...(message continues)"
- self.mastodon.status_post(status, visibility=visibility)
|