Skip to content

boly38/botEnSky

Repository files navigation

botEnSky

👢 botEnSky is a BlueSky social app 🤖 bot born on May 16, 2024.

  • written in JavaScript (Node.js ESM Project),
  • the worthy successor to @botentrain1 (ex Twitter bot - code) but for BlueSky.

His ambition is to bring 😊 happiness to 🦋 Bluesky 👤 users.

References

Bot features (plugins)

Plugins

search a post with an embedded image, a not muted author, and without reply using some questions and use Pla@ntNet API to try to identify the flower.

  • on good score result: post a reply with confident ratio, name, common name, and embed sample image +alt (provided by Pl@ntNet)

  • on bad score result, or nothing detected result: mute author and don't reply. The action to "mute" the author is to avoid to replay the same plantnet identification twice a day (for same result). Muted authors are unMuted by UnMute plugin at the end of the day.

  • 🧩 askPlantnet plugin

search a post with one of askPlantnet mention, and try to identify the parent post first image using the same previous logic except that bad score or nothing detected will produce a reply to the mention.

remove bot all muted authors.

get some analytics for last 7 days of bot activity.

search a post with an embedded image, a not muted author, and without reply using some questions and use GrBird API to try to classify the bird.

  • on good score result: post a reply with confident ratio, species, genus, family, common name, and a link to flickr gallery (provided by Avibase)

  • on bad score result, or nothing detected result: mute author and don't reply. The action to "mute" the author is to avoid to replay the same classification twice a day (for same result). Muted authors are unMuted by UnMute plugin at the end of the day.

  • 🧩 askBioclip plugin

search a post with one of askBioclip mention, and try to classify the parent post first image using the same previous logic except that bad score or nothing detected will produce a reply to the mention.

Bot trigger

  • Github Actions workflows (trigger_*) are used to trigger the bot, they are based on schedule directives (UTC time, doc)

How to contribute ?

Versions

Credits

Application and code structure:

Services ( having free plan 🚀 🌷 )

  • GitHub Actions
  • Render free app hosting and automated deployments
  • PlantNet.org (API) - plant identification service (max 200 req/days)
  • BioCLIP (GrBird API) - classification from BioCLIP : a CLIP model trained on a new 10M-image dataset of biological organisms with fine-grained taxonomic labels. (cf. paper for more details) - credits : Samuel Stevens, Jiaman Wu, Matthew J Thompson, Elizabeth G Campolongo, Chan Hee Song, David Edward Carlyn, Li Dong, Wasila M Dahdul, Charles Stewart, Tanya Berger-Wolf, Wei-Lun Chao, Yu Su.
  • betterstack - logs management

Team: