Skip to content

LiteyukiBot

Origins

The LiteyukiBot project began on Oct 5th, 2021. Initially, it was created to meet some basic business needs for Snowyfirefly Studio. At the time, QQ bots were particularly novel, which inspired me to develop a simple bot for Q&A and image retrieval, using Mirai as the protocol end. By Nov, I added some custom features and migrated to NoneBot1, adding email verification for rate limiting.

Development History

Jan 2022 - v1 Version

Added various query functions such as weather, pandemic updates, and location search. Also introduced new features like translation and speech synthesis. In Feb, the project was open-sourced on GitHub, with plugins integrating QQ's AI capabilities.

Feb 2022 - v2 Version

Began modularizing the bot's functions to make it easier to customize and maintain. Migrated to NoneBot2, adopting a new plugin system that enhanced the bot's stability and functionality.

Mar-May 2022 - v3 Version

A complete refactor was done, improving the aesthetics of bot responses by adding card rendering. New features such as music and poetry were introduced. During this time, the project also attracted new contributors, further enriching the bot's capabilities.

Jun 2022

Due to a significant amount of time spent on a certain domestic game, project updates slowed down and eventually paused.

Sep 2022 - Start of Senior Year

With the increasing pressure of senior year studies, maintaining the bot became more difficult. In Nov, I added various Genshin Impact features, such as character info queries, team information, and a gacha simulator.

Nov 2022 - v4 Version

During a city-wide lockdown due to the pandemic, my parents sent me a laptop and tablet, allowing me to continue developing LiteyukiBot. The v4 version added multi-language support, inspired by Minecraft's language system.

Jan-Jun 2023 - v4.3 Version

Due to preparing for the college entrance exam, development slowed significantly, with only minor stability fixes being applied.

Sep 2023 - v5 Version

Restarted the project, decoupling heavily intertwined functions and introducing localization and internationalization support. This led to a complete code refactor.

Oct 2023

As Tencent increased pressure on third-party protocol ends, many QQ protocol ends could no longer function properly, stalling the project. By Dec, I cleared the repository.

Jan 2024 - v6 Latest Version

Discovered a new protocol end, Lagrange, which allowed me to continue development. v6 is the current long-term support (LTS) version, utilizing a rolling update mechanism. A new Liteyuki framework was built to manage plugins, introducing a plugin marketplace and a resource pack system for greater customization.

The Liteyuki framework also lays the foundation for future distributed and microservice architecture, and can be compatible with any Python bot framework. It can even run as a plugin in other frameworks. Currently, the framework is integrated into LiteyukiBot but is also available as a standalone package on PyPi for developers to customize.

Future Plans

The Liteyuki framework is currently a bot management framework, focusing more on bot management and communication rather than specific functionalities. In the future, more comprehensive conversation support will be added, along with new features such as distributed and microservices architecture. Although this is a personal project with no plans for commercialization, I will strive to maintain stability and updates. Contributions are welcome, and so are suggestions!

Conclusion

The LiteyukiBot project has been running for 1146 days since it started on Oct 5th, 2021. Throughout this journey, I've learned a lot, gained technical expertise, made many friends, and received contributions from others. Collaborating with everyone has been an amazing experience.

As Liteyuki expanded, we formed a small studio called Liteyuki Studio, a subsidiary of Snowyfirefly Workshop, dedicated to maintaining and developing open-source projects.

Other Information