- 博客(21)
- 收藏
- 关注
原创 基于纯 C++ 开发的 Telegram Bot 框架它来了
本项目是一个类似QQ机器人的Telegram机器人框架,通过解析数据并触发对应事件处理函数。代码尚存较多BUG,欢迎开发者优化贡献。作者已完善部分代码注释以便阅读。项目开源地址为https://github.com/OasisPioneer/StyxTelegramBotFramework,并配有演示视频(链接已失效)。期待社区共同完善该项目。
2025-10-11 18:42:19
173
原创 [开源] Telegram Bot 框架
本文介绍了一个跨平台Telegram机器人框架的开发构想。作者指出过去QQ机器人插件的局限性,而Telegram官方提供了更完善的Bot API支持。为此,作者计划使用C++、Boost和FTXUI构建一个高性能的跨平台Telegram Bot框架,并分享了框架设计图。由于项目复杂度较高,作者已将其开源,邀请开发者共同参与开发。项目开源地址为:https://github.com/OasisPioneer/StyxTelegramBotFramework。
2025-09-29 14:10:12
228
原创 从“看不懂”到“我翻译了它”:为 C++ TUI 框架 FTXUI 创建中文文档是种怎样的体验?
(这里可以简单介绍一下 FTXUI 的魅力,比如它的声明式语法、组件化思想、跨平台特性等,配一两张 FTXUI 官方的酷炫截图。当我第一次看到 FTXUI 能实现的效果时,我立刻被吸引了。它优雅、现代,完全颠覆了我对终端应用的刻板印象。我迫不及待地想用它来构建自己的小工具。
2025-07-28 13:30:27
253
原创 FTXUI::Dom 模块
FTXUI DOM模块提供了丰富的终端UI构建能力,支持创建分层Element树、响应式布局和丰富的样式效果。主要内容包括:文本显示组件(text/vtext/paragraph)、装饰组件(border/window/separator)、数据可视化(gauge/graph)以及样式控制(16色/256色/TrueColor/渐变色)。所有组件都支持管道操作符进行链式调用,并可通过样式修饰器实现文本加粗、斜体、下划线等效果。该模块为终端应用开发提供了完整的UI构建解决方案。
2025-06-09 18:39:34
580
原创 FTXUI::Screen 模块
FTXUI终端UI框架核心组件摘要:Screen - 基础渲染单元,代表终端屏幕区域,支持全屏/固定尺寸设置,提供像素级控制Pixel - 屏幕最小单元,包含字符/颜色/样式属性(加粗/闪烁/下划线等),通过PixelAt定位Color - 支持3种颜色方案:预定义色、256色和RGB模式Dimension - 尺寸控制类,提供Full/Fit/Fixed三种布局模式典型用法:创建指定尺寸Screen→设置Pixel属性→调用Print()输出。注意坐标以字符为单位,超出边界返回虚拟像素。
2025-06-03 17:37:10
697
原创 FTXUI 模块
FTXUI 分为三个模块, 每个模块都建立在前一个模块的基础上.分别负责: 底层渲染[screen] → 布局组合[dom] → 用户交互[component]通过这三个模块的层层构建便可以形成一套从基础绘制到完成的终端 UI 交互系统。
2025-06-03 14:38:38
253
原创 FTXUI配置
FTXUI提供了三种安装配置方案:1)FetchContent自动从GitHub拉取指定版本;2)find_package使用系统预装库;3)Git子模块将源码嵌入项目。三者在依赖管理、版本控制、构建速度等方面各具特点,FetchContent适合快速原型,find_package适合多项目共享,Git子模块则便于版本锁定和离线开发。CMake配置简单,只需链接相应组件即可使用。
2025-06-02 15:46:53
423
原创 FTXUI 简介
摘要:FTXUI 是一个基于现代 C++17/20 的跨平台 TUI(文本用户界面)库,设计灵感来源于 React。它提供简洁的 API,支持动画、鼠标/键盘交互及灵活布局,适用于开发运维工具、状态面板等终端应用。相比传统 TUI 库(如 ncurses),FTXUI 无需外部依赖,且具备组件化、动画能力和现代编程风格,但对 C++ 基础要求较高。适合需要高效终端交互的轻量化场景。
2025-06-02 01:29:35
742
原创 C++ 零基础入门书籍
书中有任何不足之处与需修改的地方我都会去改写,希望这本书能够帮助到各位C++爱好者,本书预览官群:278888750。本人正在编写一个属于自学者自己的C++零基础入门教学书籍。
2024-09-03 12:29:04
1685
原创 C++ 基础 - 7 - 数组结构
在C++中,数组的大小在声明时必须指定,且之后不能改变(即数组是静态的)数据类型 数组名称[数组大小] = {数组数据,······};数据类型 数组名称[数组行数][数组列数] = {{数组数据, 数组数据, 数组数据, 数组数据},{数组数据, 数组数据, 数组数据, 数组数据},{数组数据, 数组数据, 数组数据, 数组数据}数据类型 数组名称[数组行数][数组列数];数组名称[i][j] = 数组的值;数据类型 数组名称[数组大小];数组名称[i] = 数组的值;每行数组以“{}”括号分割。
2024-07-22 18:03:22
455
原创 C++ 基础 - 6 - 条件循环
break 语句用于立即终止最内层的 for、while、do-while 或 switch 语句,并从这些语句之后的代码继续执行。当条件表达式为假(零)时,退出循环,继续执行 while 循环之后的代码。当条件表达式为假时,退出循环,继续执行 do-while 循环之后的代码。条件循环是指当程序在执行过程中,根据设定的值将指定的代码重复多次执行。当循环条件为假时,退出循环,继续执行 for 循环之后的代码。如果条件表达式为真(非零),执行循环体内的代码。循环体内的代码执行完毕后,执行 条件执行语句。
2024-07-21 13:47:29
567
原创 C++基础 - 附件 - 随课习题
在我们学习C++的过程中,光学不练肯定是不行的。这样不仅会导致记忆不深,还会导失去学习的兴趣。为了在我们学习完以后能够加深印象特送习题一套。答对习题会有成绩显示,答错习题将会有错误提示![访问密码: OP945937]根据你的知识掌握选择对应的习题。
2024-07-20 20:31:25
268
原创 C++ 基础 - 5 - 条件判断
每个case 在结尾时都需要写break 来跳出判断,如果不跳出 switch 将会把后面的语句全都执行一遍。条件判断可以理解为交通出行的红绿灯 根据对应的灯司机做出对应的反应,前行或停车。在代码中同样如此,条件判断是为了让你的代码根据某个条件 执行 对应的命令。switch 有一个表达式判断,通过表达式的值 找到对应的case。switch 与 if 不同的是 switch 是一对多的判断。if else if else- 如果 否则 多重 链式。if else - 如果 否则。C++中条件判断有几种?
2024-07-20 19:02:49
623
原创 C++ 基础 - 4 - 运算符号
在进行指针运算时,需要确保指针指向的内存区域是有效的,以避免未定义行为(如访问越界内存)跳出符号外 不在符号中 这里说的其它运算符不一定是运算符,也包含了C++基本库的函数。如果条件表达式的值为真(即非零),则整个条件运算符的结果是“表达式1”的值。指针与整数的乘法或除法运算在C++中是不合法的,因为这样的运算没有实际意义。如果条件表达式的值为假(即零),则整个条件运算符的结果是“表达式2”的值。指针相关的运算符有三种: 取址运算符、间接寻址运算符、指针算数运算符。先计算“条件表达式”的值。
2024-07-19 17:45:51
609
原创 DevC++安装教程
2. 将New Document Encoding设置为UTF-8 -> 启用右侧边缘线(防止一行代码过长提醒换行)7. 安装完成 -> 勾选运行 Embarcadero Dev-C++ 6.3 -> 点击完成。9. 修改Dev C++主题 -> 点击Next。6. 修改安装目标路径 -> 点击安装。8. 修改界面语言 -> 点击Next。4. 点击接受条款 -> 点击我接受。5. 选择安装组件 -> 点击下一步。3. 语言选择中文简体。
2024-07-18 17:18:28
714
1
原创 C++ 基础 - 3 - 变量常量
常量与变量相反,常量是一个固定的值,它在程序运行期间是不会改变的。通过将数据存储在变量中,我们可以随时修改变量的值,而不需要在整个代码中搜索和修改具体的数值。代码重用:通过使用变量和常量,我们可以将程序中的一些常用数据和数值抽象为变量和常量,从而方便代码的重用。存储和操作数据:变量和常量是存储和操作数据的关键。通过使用变量和常量,我们可以在程序中存储和操作各种类型的数据,包括数字、文本、布尔值等。总之,学习变量和常量是编程的基础,它们为我们提供了存储和操作数据的能力,帮助我们构建灵活、可维护和高效的程序。
2024-07-17 20:53:53
1340
原创 C++ 基础 - 2 - 数据类型
C++提供了丰富的数据类型,可以分为几大类:基本数据类型、枚举类型、类类型、指针类型、引用类型以及复合数据类型(如数组和结构体)它们决定了变量可以存储哪种类型的数据,以及这些数据如何被解释和存储在计算机的内存中。既然在C++中有这么多的数据类型,那么我们该如何在代码中合理的使用这些数据类型呢?请先保存代码 让我们在以后的学习过程中逐步完善我们的游戏!有了数据类型我们就可以在代码中使用各种不同的文本数据。学习数据类型可以让你在代码中使用更加广泛的各种值,学习数据类型是编程中至关重要的一步,
2024-07-17 20:11:55
1013
原创 C++ 基础 - 1 - 开始入门
毕竟我们大家是刚刚开始学习这门艺术的语言,对于很多的代码并不了解,尤其是自学更要稳扎稳打,毕竟自学的时候很容易因为别的语言有一些独有的功能而被吸引去学习了其它的语言,导致样样都了解样样都不会的结果。其实很多人或事物在不同的视角看来意义都不相同,这就需要各位猿同学自己发掘了,要让自己做的每件事情都很有意义!对于我们刚开始入门的猿同学,不可能说是让我们一上来就开发多么美观或强大的C/S项目,各位猿同学,请双击打开你的Dev C++,跟着我的步伐一起操作吧!好了话不多说,让我们一起开启今日的精编课程!
2024-07-16 00:13:23
1070
原创 C++基础 - 0 - 了解历史
C++ 的历史可以追溯到 20 世纪 80 年代初,由 Bjarne Stroustrup 在贝尔实验室开发。当时,Stroustrup 正在参与一个 名为 Simula 的模拟语言的项目,该语言支持面向对象编程 (OOP)的概念。然而,Simula 的性能并不理想,这促使 Stroustrup 开始思考如何在 C 语言的基础上引入 OOP 的特性。他将这门新语言称为“C with Classes”,这是 C++ 的前 身。这个阶段的 C++ 主要引入了类和继承等基本的面向对象特 性。
2024-07-15 23:59:44
1050
冰河之刃AsarHelper V.1 ASAR解包工具
2024-07-20
DuckDB 是一个分析式进程内 SQL 数据库管理系统
2024-07-22
全新小西瓜API管理系统
2024-07-18
温泉网络验证 - 全套开源
2024-07-18
简绘JianHuiAI - 你的私人AI
2024-07-18
EverythingToolbar
2024-07-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅