ITADN
EdJoPaTo/telegram-typescript-bot-template
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

telegram-typescript-bot-template

用 TypeScript 编写的 Telegram 机器人模板

如果您之前没有编写过 TypeScript,不必感到害怕。 它与 JavaScript 几乎相同。 但在运行时出现错误之前,它能提供更多有用的信息。

当我开始深入学习 TypeScript 时,也对 JavaScript 本身有了更多了解。

安装

npm install

启动机器人

本地开发

在 Telegram 上联系 @BotFather 并创建你的机器人。 你将获得一个类似这样的令牌:123:abc。 请将其作为环境变量使用(例如通过 export BOT_TOKEN=123:abc)。 提示:当你为开发目的创建独立的机器人时,可以同时使用生产环境和开发环境。

该机器人会将持久性数据存储在 persist 文件夹中。 因此,在首次启动之前也请先创建该文件夹。

mkdir persist

那就开始启动机器人吧。

npm start

生产环境

请参阅 Dockerfile。 您可以使用它来构建容器。 但此仓库并非关于容器的。 如需了解更多相关内容,请前往其他地方查看。

该容器设计为需与名为 BOT_TOKEN 的环境变量一同使用。

该容器包含一个卷(/app/persist),用于存储您的机器人生成的持久数据。 请务必明确使用该卷(例如,在多节点架构中确保其与主机同步或关联)。

基本目录结构示例

  • source 中存放您的 TypeScript 源文件。子文件夹中包含与实现相关的具体内容
    • bot 可能包含与 Telegram 机器人相关的文件
      • menu 可能包含关于机器人的具体信息,以及 /start 页面上显示的菜单内容
    • magic 可能包含与执行特定功能相关的内容。这些内容虽与机器人本身无直接关联,但会被机器人使用。
  • locales 中存放机器人的翻译字符串,这样它就能支持多种语言。
  • dist 中将存放编译后的 JavaScript 文件。
  • persist 中将存放机器人使用的持久数据。请确保这些数据能够保持持久性(例如通过备份)。

改进

您觉得还有什么缺失吗? 欢迎随时补充。 这样大家就能比以前更轻松地学习啦 :)