洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@[email protected]

I prototyped a logo for . What do you think? Does it look okay?

https://hollo.social/@hongminhee/019410c4-07cd-7ed0-bb0e-efb0b6dd88c5

A prototype of a logo for BotKit. It's an unassembled plastic model kit of a cute dinosaur. It's labeled with “BotKit by Fedify.”
A prototype of a logo for BotKit. It's an unassembled plastic model kit of a cute dinosaur. It's labeled with “BotKit by Fedify.”
洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@[email protected]

I'm currently brainstorming a framework for creating fediverse bots called , based on . It's less flexible than Fedify, but the goal is to make it possible to create simple fediverse bots with much less code. What do you think?

import { createBot, mention, text } from "@fedify/botkit";
import { RedisKvStore } from "@fedify/redis";
import { Redis } from "ioredis";

// Create a bot instance:
const bot = createBot({
  // The bot will have fediverse handle "@greetbot@mydomain":
  username: "greetbot",
  // Set the profile icon (avatar):
  icon: new URL("https://mydomain/icon.png"),
  // Set the bio:
  bio: text`Hi, there! I'm a simple fediverse bot created by ${
    mention("@hongminhee@hollo.social").}`,
  // Use Redis as a key-value store:
  kv: new RedisKvStore(new Redis()),
  // Use Redis as a message queue:
  queue: new RedisMessageQueue(() => new Redis()),
});

// A bot can respond to a mention:
bot.on(/hi|hello|what'?s\s+up/i, (ctx) => {
  return ctx.reply(text`Hi, ${ctx.actor}!`);
});

// Or, a bot also can actively publish a post:
setInterval(async () => {
  await bot.publish(text`Hi, forks! It's an hourly greeting.`);
}, 1000 * 60 * 60);

export default bot;
import { createBot, mention, text } from "@fedify/botkit"; import { RedisKvStore } from "@fedify/redis"; import { Redis } from "ioredis"; // Create a bot instance: const bot = createBot({ // The bot will have fediverse handle "@greetbot@mydomain": username: "greetbot", // Set the profile icon (avatar): icon: new URL("https://mydomain/icon.png"), // Set the bio: bio: text`Hi, there! I'm a simple fediverse bot created by ${ mention("@[email protected]").}`, // Use Redis as a key-value store: kv: new RedisKvStore(new Redis()), // Use Redis as a message queue: queue: new RedisMessageQueue(() => new Redis()), }); // A bot can respond to a mention: bot.on(/hi|hello|what'?s\s+up/i, (ctx) => { return ctx.reply(text`Hi, ${ctx.actor}!`); }); // Or, a bot also can actively publish a post: setInterval(async () => { await bot.publish(text`Hi, forks! It's an hourly greeting.`); }, 1000 * 60 * 60); export default bot;
poes 🇵🇸's avatar
poes 🇵🇸

@[email protected] · Reply to 洪 民憙 (Hong Minhee)'s post

@hongminhee

It's look like Deno logo,
and Deno new logo is look like python one.

😅​

洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@[email protected] · Reply to 洪 民憙 (Hong Minhee)'s post

It's actually a vector illustration drawn by Inkscape.

A screenshot of an Inkscape workspace with the BotKit logo prototype.
A screenshot of an Inkscape workspace with the BotKit logo prototype.
Chee Aun 🤔's avatar
Chee Aun 🤔

@[email protected] · Reply to 洪 民憙 (Hong Minhee)'s post

@hongminhee the "BotKit by Fedify" text is part of the logo?

Julian Fietkau's avatar
Julian Fietkau

@[email protected] · Reply to 洪 民憙 (Hong Minhee)'s post

@hongminhee I like it aesthetically, but what is it? With the omitted hind legs it looks kinda like a dinosaur ghost to my eyes.