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.

Every day, the robot searches Unsplash for a collection with one of this queries for photo of another author and attempts to identify it using Bioclip. The details of the photo and its identification are then posted on Bluesky.

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: