<p>“If you have good friends, no matter how much life is sucking , they can make you laugh.” ~ P. C. Cast</p><p><a href="/tags/quote/" rel="tag">#quote</a> <a href="/tags/firiendship/" rel="tag">#firiendship</a> <a href="/tags/laughter/" rel="tag">#laughter</a> <a href="/tags/garden/" rel="tag">#garden</a> <a href="/tags/landscape/" rel="tag">#landscape</a></p>
quote
<p>“The mind can go in a thousand directions, but on this beautiful path, I walk in peace. With each step, the wind blows. With each step, a flower blooms.” ~ Thich Nhat Hanh</p><p><a href="/tags/quote/" rel="tag">#quote</a> <a href="/tags/turmoil/" rel="tag">#turmoil</a> <a href="/tags/bloomscrolling/" rel="tag">#BloomScrolling</a></p>
<p>"Life is a hard battle anyway. If we laugh and sing a little as we fight the good fight of freedom, it makes it all go easier. I will not allow my life's light to be determined by the darkness around me." ~ Sojourner Truth</p><p><a href="/tags/quote/" rel="tag">#quote</a> <a href="/tags/laughter/" rel="tag">#laughter</a> <a href="/tags/bloomscrolling/" rel="tag">#BloomScrolling</a> <a href="/tags/springflowers/" rel="tag">#SpringFlowers</a></p>
<p>BotKit 0.2.0 Released</p><p>We're pleased to announce the release of <a href="https://botkit.fedify.dev/" rel="nofollow">BotKit</a> 0.2.0! For those new to our project, <a href="/tags/botkit/" rel="tag">#BotKit</a> is a <a href="/tags/typescript/" rel="tag">#TypeScript</a> framework for creating standalone <a href="/tags/activitypub/" rel="tag">#ActivityPub</a> bots that can interact with Mastodon, Misskey, and other <a href="/tags/fediverse/" rel="tag">#fediverse</a> platforms without the constraints of these existing platforms.</p><p>This release marks an important step in our journey to make fediverse bot development more accessible and powerful, introducing several features that our community has been requesting.</p><p>The Journey to Better Bot Interactions</p><p>In building BotKit, we've always focused on making bots more expressive and interactive. With version 0.2.0, we're taking this to the next level by bringing the social aspects of the fediverse to your bots.</p><p>Expressing Your Bot's Personality with Custom Emojis</p><p>One of the most requested features has been <a href="/tags/custom_emoji/" rel="tag">#custom_emoji</a> support. Now your bots can truly express their personality with unique visuals that make their messages stand out.</p><p>// Define custom emojis for your botconst emojis = bot.addCustomEmojis({ botkit: { file: `${import.meta.dirname}/images/botkit.png`, type: "image/png" }, fedify: { url: "<a href="https://fedify.dev/logo.png" rel="nofollow"><span class="invisible">https://</span>fedify.dev/logo.png</a>", type: "image/png" }});// Use these custom emojis in your messagesawait session.publish( text`BotKit ${customEmoji(emojis.botkit)} is powered by Fedify ${customEmoji(emojis.fedify)}`);</p><p>With this new API, you can:</p><p>Add custom emojis to your bot with Bot.addCustomEmojis()<br>Include these emojis in messages with the <a href="https://botkit.fedify.dev/concepts/text#custom-emojis" rel="nofollow">customEmoji()</a> function<br><a href="https://botkit.fedify.dev/concepts/text#emoji" rel="nofollow">Use the text tagged template with Fedify Emoji objects</a></p><p>Engaging Through Reactions</p><p>Communication isn't just about posting messages—it's also about responding to others. The new reaction system creates natural interaction points between your bot and its followers:</p><p>// React to a message with a standard Unicode emojiawait message.react(emoji`👍`);// Or use one of your custom emojis as a reactionawait message.react(emojis.botkit);// Create a responsive bot that acknowledges reactionsbot.onReact = async (session, reaction) => { await session.publish( text`Thanks for reacting with ${reaction.emoji} to my message, ${reaction.actor}!`, { visibility: "direct" } );};</p><p>This feature allows your bot to:</p><p>React to messages with Unicode emojis using <a href="https://botkit.fedify.dev/concepts/message#reacting-to-a-message-with-an-emoji" rel="nofollow">Message.react()</a><br>React with the custom emojis you've defined<br>Handle reaction events with <a href="https://botkit.fedify.dev/concepts/events#emoji-reaction" rel="nofollow">Bot.onReact</a> and <a href="https://botkit.fedify.dev/concepts/events#undoing-emoji-reaction" rel="nofollow">Bot.onUnreact</a> handlers</p><p>Conversations Through Quotes</p><p>Discussions often involve referencing what others have said. Our new <a href="/tags/quote/" rel="tag">#quote</a> support enables more cohesive conversation threads:</p><p>// Quote another message in your bot's postawait session.publish( text`Responding to this interesting point...`, { quoteTarget: originalMessage });// Handle when users quote your bot's messagesbot.onQuote = async (session, quoteMessage) => { await session.publish( text`Thanks for sharing my thoughts, ${quoteMessage.actor}!`, { visibility: "direct" } );};</p><p>With quote support, your bot can:</p><p>Quote messages with <a href="https://botkit.fedify.dev/concepts/message#quoting" rel="nofollow">quoteTarget</a> option<br>Access quoted messages via <a href="https://botkit.fedify.dev/concepts/message#quotes" rel="nofollow">Message.quoteTarget</a><br>Handle quote events with the new <a href="https://botkit.fedify.dev/concepts/events#quote" rel="nofollow">Bot.onQuote</a> event handler</p><p>Visual Enhancements</p><p>Because communication is visual too, we've improved how your bot presents itself:</p><p>Image attachments now properly display in the web interface<br>Your bot's content looks better and provides a richer experience</p><p>Behind the Scenes: Enhanced Activity Propagation</p><p>We've also improved how activities propagate through the fediverse:</p><p>More precise propagation of replies, shares, updates, and deletes<br>Activities are now properly sent to the original message authors</p><p>These improvements ensure your bot's interactions are consistent and reliable across different fediverse platforms.</p><p>Taking Your First Steps with BotKit 0.2.0</p><p>Ready to experience these new features? BotKit 0.2.0 is available on <a href="https://jsr.io/@fedify/[email protected]" rel="nofollow">JSR</a> and can be installed with a simple command:</p><p>deno add jsr:@fedify/[email protected]</p><p>Since BotKit uses the Temporal API (which is still evolving in JavaScript), remember to enable it in your deno.json:</p><p>{ "imports": { "@fedify/botkit": "jsr:@fedify/[email protected]" }, "unstable": ["temporal"]}</p><p>With these simple steps, you're ready to create or upgrade your fediverse bot with our latest features.</p><p>Looking Forward</p><p>BotKit 0.2.0 represents our ongoing commitment to making fediverse bot development accessible, powerful, and enjoyable. We believe these new features will help your bots become more engaging and interactive members of the fediverse community.</p><p>For complete docs and more examples, visit our <a href="https://botkit.fedify.dev/" rel="nofollow">docs site</a>.</p><p>Thank you to everyone who contributed to this release through feedback, feature requests, and code contributions. The BotKit community continues to grow, and we're excited to see what you'll create!</p><p>BotKit is powered by <a href="https://fedify.dev/" rel="nofollow">Fedify</a>, a lower-level framework for creating ActivityPub server applications.</p><p><a href="/tags/fedidev/" rel="tag">#fedidev</a> <a href="/tags/emoji_reaction/" rel="tag">#emoji_reaction</a></p>
<p>“Where justice is denied, where poverty is enforced, where ignorance prevails, and where any one class is made to feel that society is an organized conspiracy to oppress, rob and degrade them, neither persons nor property will be safe.” ~ Frederick Douglass</p><p><a href="/tags/quote/" rel="tag">#quote</a> <a href="/tags/naturephotography/" rel="tag">#NaturePhotography</a> <a href="/tags/roots/" rel="tag">#roots</a> <a href="/tags/gardenart/" rel="tag">#GardenArt</a></p>
<p>"Privacy is not for sale, and human rights should not be compromised out of fear or greed." ~ Pavel Durov</p><p><a href="/tags/quote/" rel="tag">#quote</a> <a href="/tags/waterlilies/" rel="tag">#WaterLilies</a> <a href="/tags/nature/" rel="tag">#nature</a></p>
Edited 225d ago
<p>“When adversity strikes, you have two choices: Let the adversity define, destroy, or strengthen you. Your reaction is what will determine your destiny.” ~ Serena Williams</p><p><a href="/tags/quote/" rel="tag">#quote</a> <a href="/tags/overcomingadversity/" rel="tag">#OvercomingAdversity</a> <a href="/tags/naturephotography/" rel="tag">#NaturePhotography</a></p>
<p><a href="/tags/periyar/" rel="tag">#Periyar</a> <a href="/tags/oppression/" rel="tag">#Oppression</a> <a href="/tags/quote/" rel="tag">#Quote</a></p>
Edited 1y ago
<p>“You don’t have to be positive all the time. It’s perfectly okay to feel sad, angry, annoyed, frustrated, scared and anxious. Having feelings doesn’t make you a negative person. It makes you human.” ~ Lori Deschene</p><p><a href="/tags/quote/" rel="tag">#quote</a> <a href="/tags/feelings/" rel="tag">#feelings</a> <a href="/tags/buds/" rel="tag">#buds</a> <a href="/tags/allium/" rel="tag">#allium</a></p>
<p>"Gratitude unlocks the fullness of life. It turns what we have into enough, and more. It turns denial into acceptance, chaos to order, confusion to clarity. It can turn a meal into a feast, a house into a home, a stranger into a friend." ~ Melody Beattie</p><p><a href="/tags/quote/" rel="tag">#quote</a> <a href="/tags/gratitude/" rel="tag">#gratitude</a> <a href="/tags/naturephotography/" rel="tag">#NaturePhotography</a></p>
<p>"也许你知道,巫师是第一次诞生的人。我猜我们都曾有过这种美好的经历,我们都曾有机会使用魔法。但对我们大部分人来说,这个机会出现在历史长河无聊的初始时期,我们把我们最好的咒语都浪费在了蛇颈龙或是原生质,又或是手持火剑的天使身上。它们当然都懂魔法,所以对我们的咒语不屑一顾。如今,巫师是很少见的,但可能没有你想的那么少见。他们什么都不记得,于是什么都不懂,也不会感到无聊。所有事他们都要从头学起,除了魔法,魔法可以说是唯一真正意义上的原罪。在有魔法的人看来,只有魔法是寻常事物,而其他一切都是未知的、没被想到过的,于是也不会被鄙视。魔法人士总是很显眼——他们在人群中太过显眼,以至于我们这些老灵魂几乎没法理解他们。他们完全不懂得为人处世的微妙之处,而且,尽管他们是新灵魂,却丝毫不现代。你可以愤世嫉俗地告诉他们,只有今天是真实的,除了前天,再没有什么比昨天更不值得一提的了。他们会赞叹你的聪明,但下一刻你就会发现一个女巫为丁尼生的诗歌落泪,一个男巫对埃德温·兰西尔爵士的奇特想象力报以微笑。你根本没法把魔法人士和普通人类混起来。你我都经过了历史上万千生命的历程,最终达到了一种太过精微的卓越。在我们的时代——在我们历史的大多数时候——我们已经膜拜过任何能想象的到的东西,现在我们只能去膜拜那些想象不到的东西了。我们把我们的偶像倒立起来,因为这样做很新潮,而且我们觉得我们更喜欢他们头脚颠倒的造型。我们不停地说话,眼上蒙着手绢,踉踉跄跄地在永恒中前行。如果我们幸运的话,在二十几次人生中有那么一两次,遮蔽我们眼睛的手绢滑落了,我们挣扎着睁开一只眼,便看到像大树一样的神行走在我们身边。这可了不得了!这一瞥就足够我们谈论两三辈子!女巫和男巫不被任何观点遮蔽。他们只是四处看看,并被他们所见之物震惊和吸引。"</p> <p>— Stella Benson: <a href="https://bookwyrm.social/book/2083848" rel="nofollow">独居</a>, pp. 23-25</p><p><span class="h-card"><a href="https://ovo.st/club/reading" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>reading</span></a></span> <a href="/tags/reading/" rel="tag">#reading</a> <a href="/tags/quote/" rel="tag">#quote</a> <a href="/tags/在读引用/" rel="tag">#在读引用</a> <a href="/tags/bookstodon/" rel="tag">#bookstodon</a> <a href="/tags/stellabenson/" rel="tag">#StellaBenson</a> <a href="/tags/livingalone/" rel="tag">#LivingAlone</a></p>
<p>"All respect for the office of the presidency aside, I assumed that the obvious and unadulterated decline of freedom and constitutional sovereignty, not to mention the efforts to curb the power of judicial review, spoke for itself." ~ Ruth Bader Ginsburg</p><p><a href="/tags/quote/" rel="tag">#quote</a> <a href="/tags/abuseofpower/" rel="tag">#AbuseOfPower</a> <a href="/tags/naturephotography/" rel="tag">#NaturePhotography</a></p>
<p>"Much protective self-criticism stems from growing up around people who wouldn't or couldn't love you, and it's likely they still can't or won't. In general, however, the more you let go of the tedious delusion of your own unattractiveness, the easier it will be for others to connect with you, and the more accepted you'll feel." ~ Martha Beck</p><p><a href="/tags/quote/" rel="tag">#quote</a> <a href="/tags/bench/" rel="tag">#bench</a> <a href="/tags/tree/" rel="tag">#tree</a></p>
<p>"No dictator can last forever. History shows that in the end, people around the dictator bring about change. Of course, a lot of high-ranking officials don't want change because they want to keep power. But there are other good people who want change. I believe they are waiting for the chance." ~ Lee Hyeon-seo</p><p><a href="/tags/quote/" rel="tag">#quote</a> <a href="/tags/botanicalgardens/" rel="tag">#BotanicalGardens</a> <a href="/tags/photography/" rel="tag">#photography</a> <a href="/tags/power/" rel="tag">#power</a> <a href="/tags/change/" rel="tag">#change</a></p>
Edited 344d ago
<p>Fela, Music & Revolution</p><p><a href="https://amf.didiermary.fr/qotd-fela-kuti-music-revolution/" rel="nofollow" class="ellipsis" title="amf.didiermary.fr/qotd-fela-kuti-music-revolution/"><span class="invisible">https://</span><span class="ellipsis">amf.didiermary.fr/qotd-fela-ku</span><span class="invisible">ti-music-revolution/</span></a></p><p>In Africa, music cannot be for enjoyment.<br>Music has to be for revolution.<br>Fela Kuti</p><p><a href="/tags/felakuti/" rel="tag">#FelaKuti</a> <a href="/tags/qotd/" rel="tag">#QOTD</a> <a href="/tags/afrobeat/" rel="tag">#AfroBeat</a> <a href="/tags/quote/" rel="tag">#Quote</a></p>
Edited 208d ago
We’re back with a fresh release, and this one makes following and sharing smoother than ever—plus gives you more control over how your posts can be quoted.
Edited 187d ago
<p>"Be soft. Do not let the world make you hard. Do not let pain make you hate. Do not let the bitterness steal your sweetness." ~ Khalil Gibran</p><p><a href="/tags/quote/" rel="tag">#quote</a> <a href="/tags/bench/" rel="tag">#bench</a> <a href="/tags/shade/" rel="tag">#shade</a> <a href="/tags/tree/" rel="tag">#tree</a></p>
<p>“I am no longer accepting the things I cannot change. I am changing the things I cannot accept.” ~ Angela Davis</p><p><a href="/tags/quote/" rel="tag">#quote</a> <a href="/tags/change/" rel="tag">#change</a> <a href="/tags/photography/" rel="tag">#photography</a> <a href="/tags/cacoa/" rel="tag">#cacoa</a></p>
Edited 1y ago
<p>“Those we love and lose are always connected by heartstrings into infinity." ~ Terri Guillemets</p><p><a href="/tags/quote/" rel="tag">#quote</a> <a href="/tags/love/" rel="tag">#love</a> <a href="/tags/connection/" rel="tag">#connection</a> <a href="/tags/floweringtrees/" rel="tag">#FloweringTrees</a></p>
<p>"When you are reluctant to change, think of the beauty of autumn." ~ V V Brown</p><p><a href="/tags/quote/" rel="tag">#quote</a> <a href="/tags/autumn/" rel="tag">#autumn</a> <a href="/tags/leaves/" rel="tag">#leaves</a> <a href="/tags/colors/" rel="tag">#colors</a></p>
<p>“Democracy is not just the right to vote; it is the right to live in dignity.” ~ Naomi Klein</p><p><a href="/tags/quote/" rel="tag">#quote</a> <a href="/tags/voting/" rel="tag">#voting</a> <a href="/tags/wildfowers/" rel="tag">#wildfowers</a></p>
<p>"[...] until the basic human rights are equally guaranteed to all without regard to race, there is war. And until that day, the dream of lasting peace, world citizenship, rule of international morality, will remain but a fleeting illusion to be pursued, but never attained... now everywhere is war.”<br>- Haile Selassie (1963)</p><p>Bob Marley - WAR (live -1979)<br><a href="https://www.youtube.com/watch?v=loFDn94oZJ0" rel="nofollow" class="ellipsis" title="www.youtube.com/watch?v=loFDn94oZJ0"><span class="invisible">https://</span><span class="ellipsis">www.youtube.com/watch?v=loFDn9</span><span class="invisible">4oZJ0</span></a></p><p><a href="/tags/quote/" rel="tag">#Quote</a> <a href="/tags/quotes/" rel="tag">#Quotes</a> <a href="/tags/reggae/" rel="tag">#Reggae</a> <a href="/tags/blackhistorymonth/" rel="tag">#BlackHistoryMonth</a></p>
Edited 1y ago
<p>"Aging is not lost youth but a new stage of opportunity and strength." ~ Betty Friedan </p><p><a href="/tags/quote/" rel="tag">#quote</a> <a href="/tags/aging/" rel="tag">#aging</a> <a href="/tags/naturephotography/" rel="tag">#NaturePhotography</a></p>
Edited 1y ago
<p>“We have never seen health as a right. It has been conceived as a privilege, available only to those who can afford it. This is the real reason the American health care system is in such a scandalous state.” ~ Shirley Chisholm<br>Member of the U.S. House of Representatives, 1969 to 1983</p><p><a href="/tags/quote/" rel="tag">#quote</a> <a href="/tags/healthcare/" rel="tag">#healthcare</a> <a href="/tags/affordability/" rel="tag">#affordability</a> <a href="/tags/naturephotography/" rel="tag">#NaturePhotography</a></p>
Edited 141d ago
<p>”You may shoot me with your words, you may cut me with your eyes, you may kill me with your hatefulness, but still, like air, I’ll rise.” ~ Maya Angelou</p><p><a href="/tags/quote/" rel="tag">#quote</a> <a href="/tags/betrayal/" rel="tag">#betrayal</a> <a href="/tags/bridge/" rel="tag">#bridge</a> <a href="/tags/photography/" rel="tag">#photography</a></p>
