首页 > 解决方案 > 您如何获得使用翻译 API 并在每次启动到服务器时都需要 Powershell 命令的 Discord 机器人?

问题描述

我正在创建一个 Discord 机器人,我决定使用 Google Translation API 让机器人根据要求在不同语言之间翻译文本。

但是,在每次启动机器人时,我都需要为 Discord 机器人运行 Powershell 命令以启用翻译功能。没有,该命令不起作用。

命令如下:$env:GOOGLE_APPLICATION_CREDENTIALS="C:\Users\username\Downloads\[FILE_NAME].json"

这会将机器人指向 Google Translate API 项目的服务密钥。

完整文档在这里:文档

如果我打算只在我的机器上运行它,这将非常有效,但我想在服务器上 24/7 运行它,并且我已经设置了 Heroku。

我将如何在服务器上进行设置,因为目前我不知道。

所有帮助将不胜感激。

谢谢你。

标签: herokudiscorddiscord.jsgoogle-translation-api

解决方案


您使用的命令是声明一个环境变量。

Node.js
你可以按照这里的回答来做:

GOOGLE_APPLICATION_CREDENTIALS="/absolute/path/to/key.json" node index.js

Heroku
您还可以直接在 Heroku 上设置 env var(文档):

heroku config:set GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/key.json

Docker
或者,您可以创建 Docker 映像或使用 Heroku 构建它并在 Docker 中设置环境变量。

Heroku DockerDocker env 文件/ Docker compose env var


推荐阅读