This might be a dumb question, but if anyone here has used #botkit by #fedify : is there any way to host more than one bot without using different subdomains?
I'd like to self-host more than just my Ralsei bot and, as far as I know, an easy way to do it would be to use different subdomains for […]
详细回复规则
规范了一下 @mybot 的逻辑流程,防止滥用和污染联邦宇宙时间线~
可以在https://bot.moe.pub 查看详细规则,网站只会显示unlisted帖子
1. 关注才能对话
2. 每人每小时限聊 5 次(可联系我实现无限)
3. 回复默认不公开
4. 只@不会消耗次数
#botkit #fedify #gemini #fediverse
Did you know there's a community space for #Fedify, #Hollo, #BotKit, and other Fedify ecosystem projects?
Whether you have questions, want to share what you're building, or just want to hang out with fellow fediverse developers—come join us!
* Matrix: #fedify:matrix.org
* Discord
Custom emojis ------------- *This API is available since BotKit 0.2.0.* You can include a custom emoji in the text using the `customEmoji()` function. It is an inline construct. In order to use the `customEmoji()` function, you need to define custom emojis first. You can define custom emojis by using the `Bot.addCustomEmojis()` method after creating the bot: ~~~~ typescript // Define custom emojis: const emojis = bot.addCustomEmojis({ // Use a local image file: botkit: { file: "./botkit.png", type: "image/png" }, // Use a remote image URL: fedify: { url: "https://fedify.dev/logo.png", type: "image/png" }, }); ~~~~ The `~BotKit.addCustomEmojis()` method returns an object that contains the custom emojis. You can use the keys of the object to refer to the custom emojis. For example: ~~~~ typescript text`Here's a custom emoji: ${customEmoji(emojis.botkit)} by ${customEmoji(emojis.fedify)}.` ~~~~
First, I'm adding custom emoji support to #BotKit…
I've been considering what to add in the next version of BotKit (v0.2.0) and wanted to share my current plans. After reviewing feedback and examining the #ActivityPub ecosystem, I've identified three key features that would significantly enhance the framework's capabilities:
1. Custom emoji […]
By the way, #BotKit also needs to be updated… I have so much work left to do.
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
### Fedify :fedify:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards […]
Image of the TMNT logo except the top of it, in white on a red background, reads "TOMS FEDIVERSE LOGO" and the bottom, in green, reads "GENERATOR"
Sorry, last one, I promise.
Built another @botkit bot, if you tag @tmnt w/ some text it will generate a TMNT logo for you using an API on a @glitchdotcom site:
https://tmnt-logo.glitch.me/
Relevant XKCD
Bot Source Code
Glitch Logo Generator Source Code
Important security fix—if you're running a #BotKit-powered bot, please update to v0.1.1 ASAP!
hollo.social/@botkit/0194ede9-dd1b-7b...
The #BotKit room is available on #Matrix now!
hollo.social/@botkit/0194e8af-642d-7b...
Liking a message You can like a message by calling the like() method: const message = await session.publish( text`This message will be liked.` ); await message.like(); CAUTION You may call the like() method on a message that is already liked, but it will not raise an error. Under the hood, such a call actually sends multiple Like activities to the fediverse, whose behavior is undefined—some servers may ignore the duplicated activities, some servers may allow them and count them as multiple likes. If you need to undo the liking, you can call the unlike() method: const like = await message.like(); await like.unlike();
Automatically liking mentions It is simple to automatically like mentions of your bot. You can use the onMention event handler and the Message.like() method together: bot.onMention = async (session, message) => { await message.like(); };
@FediChatBot I heard that now you may like messages replying to you or mentioning you if these are positive, thanks to #BotKit's recent changes (see the attached screenshots too). Is it true?
(Please don't answer me in Korean, but English.)
I asked Claude to create an RSS bot using the #BotKit and rss-parser packages, and he really delivered a working RSS bot.
@FediChatBot Okay, now you must be able to #hashtag things, thanks to the recent changes on #BotKit. Would you try tagging anything?
(Do not answer me in Korean, but English.)
I want to use #JSX for developing :botkit: #BotKit, but I can't because #JSR doesn't support JSX yet.
Events supported by BotKit
@FediChatBot Currently, #BotKit supports the following 7 types of event handlers (see attached image):
* `onFollow`
* `onUnfollow`
* `onAcceptFollow`
* `onRejectFollow`
* `onMention`
* `onReply`
* `onMessage`
What else can you think of as event handlers?
제 프로젝트인 @fedify, @hollo, @botkit 等(등)의 開發(개발)을 後援(후원)하고 싶으신 분들께서는, GitHub에서 제 스폰서가 되어 주세요!
https://github.com/sponsors/dahlia
#ActivityPub #fediverse #페디버스 #聯合宇宙(연합우주) #연합우주 #Fedify #Hollo #BotKit #스폰서 #후원
「@fedify」や「@hollo」や「@botkit」の開発を支援したい方は、GitHubでスポンサーになってください!
https://github.com/sponsors/dahlia
#ActivityPub #fediverse #フェディバース #Fedify #Hollo #BotKit #スポンサー
If you'd like to support the development of @fedify or @hollo or @botkit, you can sponsor me on GitHub!
https://github.com/sponsors/dahlia
#ActivityPub #fedidev #Fedify #Hollo #BotKit #sponsor
I guess @iss-location-bot now joins @FediChatBot as potentially the 2nd(?) bot built with @hongminhee 's #BotKit 🍻
Learn more:
- BotKit: https://botkit.fedify.dev/
- ISS Location bot repo: https://github.com/cheeaun/iss-location-bot
- Previous thread […]
A Mastodon post from ISS Location Bot, replying to a post asking "who's there", showing a list of 12 people currently in space, including astronauts on the ISS and Tiangong.
Cool, mention works. #BotKit
Mastodon UI on activitypub.academy showing posts from "ISS Location Bot" with geographic coordinates, a text input box, and a sidebar, with the server domains blurred.
Trying out @hongminhee 's #BotKit.
Wow this might actually work 😮 Just roughly 50 lines of code & 3 dependencies 🤯
The logo for BotKit
@FediChatBot The attached image is the logo for #BotKit, let us know what you think of it.
I love to hear questions about #BotKit, like how to use it or the roadmap for the future, so feel free to ask!
hollo.social/@fedify/01944e2e-cdc8-75...
import { createBot, InProcessMessageQueue, MemoryKvStore, mention, text, } from "@fedify/botkit"; // Create a bot instance: const bot = createBot<void>({ // The bot will have fediverse handle "@greetbot@mydomain": username: "greetbot", // Set the display name: name: "Greet Bot", // Set the profile icon (avatar): icon: new URL("https://mydomain/icon.png"), // Set the bio: summary: text`Hi, there! I'm a simple fediverse bot created by ${ mention("@hongminhee@hollo.social")}.`, // Store data in memory (for development): kv: new MemoryKvStore(), // Use in-process message queue (for development): queue: new InProcessMessageQueue(), }); // A bot can respond to a mention: bot.onMention = async (session, message) => { await message.reply(text`Hi, ${message.actor}!`); }; // Or, a bot also can actively publish a post: const session = bot.getSession("https://mydomain/"); setInterval(async () => { await session.publish(text`Hi, forks! It's an hourly greeting.`); }, 1000 * 60 * 60); export default bot;
:botkit: Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot […]
[Original post on hollo.social]
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.”
I prototyped a logo for #BotKit. What do you think? Does it look okay?
hollo.social/@hongminhee/019410c4-07c...