Fix headers in Handling Bot Tokens page

This commit is contained in:
chase 2018-09-28 22:11:33 +02:00
parent ce82e627a6
commit 8aa77f54eb
2 changed files with 14 additions and 11 deletions

View File

@ -4,19 +4,19 @@
* [Accessing Enviroment Variables](#accessing-enviroment-variables) * [Accessing Enviroment Variables](#accessing-enviroment-variables)
* [Using Command Line Arguments](#using-command-line-arguments) * [Using Command Line Arguments](#using-command-line-arguments)
## <a id="bot-token-donts"></a> Bot Token Dont's ## # <a id="bot-token-donts"></a> Bot Token Dont's ##
* Tokens should not be hardcoded into the bot code * Tokens should not be hardcoded into the bot code
* Tokens should never be published * Tokens should never be published
* Tokens should not be pushed into Repositorys * Tokens should not be pushed into Repositorys
## <a id="using-environment-variables"></a> Using Environment Variables ### # <a id="using-environment-variables"></a> Using Environment Variables ###
One convenient way to inject your bot token into the application is by using Environment Variables. Environment Variables are Values that are set in the Environment the Bot is running. One convenient way to inject your bot token into the application is by using Environment Variables. Environment Variables are Values that are set in the Environment the Bot is running.
Those Values are not defined in the Application and therefore are not visible in the code. Those Values are not defined in the Application and therefore are not visible in the code.
### <a id="setting-environment-variables"></a> Setting Environment Variables ### ## <a id="setting-environment-variables"></a> Setting Environment Variables ###
####Windows ###Windows
Enviroment Variables in Windows can be set using the Console (CMD) using Enviroment Variables in Windows can be set using the Console (CMD) using
```batchfile ```batchfile
SETX [VARIABLE_NAME] [YOUR_BOT_TOKEN] SETX [VARIABLE_NAME] [YOUR_BOT_TOKEN]
@ -29,7 +29,7 @@ It can also be set using the Windows GUI
* Click Environment Variables... * Click Environment Variables...
* In the 'User Variables for X' click New and enter a Name and your Token as the Value * In the 'User Variables for X' click New and enter a Name and your Token as the Value
####Linux & Mac ###Linux & Mac
* Open the '~/.bash_profile' File * Open the '~/.bash_profile' File
* Append the following to it: * Append the following to it:
```bash ```bash
@ -38,29 +38,29 @@ export VARIABLE_NAME = {YOUR_BOT_TOKEN}
* Save the file * Save the file
* Either reboot your system or run the command above in your terminal * Either reboot your system or run the command above in your terminal
####IntelliJ ###IntelliJ
* Go to Run->Edit Configuratuions... * Go to Run->Edit Configuratuions...
* Navigate to your Java Run Configuration * Navigate to your Java Run Configuration
* Under Enviroment->Enviroment Variables click the Folder Icon * Under Enviroment->Enviroment Variables click the Folder Icon
* Click the Plus Icon to add a new Variable * Click the Plus Icon to add a new Variable
* Enter a Name and your Token as the Value * Enter a Name and your Token as the Value
####Heroku Cloud ###Heroku Cloud
* Naviage to your App * Naviage to your App
* In the Settings Tab under Config Vars, click "Reveal Config Vars" * In the Settings Tab under Config Vars, click "Reveal Config Vars"
* Enter a Name and your Token as the Value * Enter a Name and your Token as the Value
* Click the "Add" button * Click the "Add" button
### <a id="accessing-enviroment-variables"></a> Accessing Enviroment Variables ### ## <a id="accessing-enviroment-variables"></a> Accessing Enviroment Variables ###
####Java ###Java
You can access the Enviroment Variables by using System.getEnv() You can access the Enviroment Variables by using System.getEnv()
```java ```java
String BOT_TOKEN = System.getenv("VARIABLE_NAME"); String BOT_TOKEN = System.getenv("VARIABLE_NAME");
``` ```
####Spring ###Spring
In Spring the @Value annotation allows you to inject the Value into your class In Spring the @Value annotation allows you to inject the Value into your class
```java ```java
@ -71,7 +71,7 @@ public class Bot extends TelegramLongPollingBot {
} }
``` ```
## <a id="sing-command-line-arguments"></a> Using Command Line Arguments # <a id="sing-command-line-arguments"></a> Using Command Line Arguments
An easier but not Recommended way of injecting the Bottoken is by utilizing Command Line Arguments when starting the Application An easier but not Recommended way of injecting the Bottoken is by utilizing Command Line Arguments when starting the Application
In this case your main Method is responsible for taking in the Token In this case your main Method is responsible for taking in the Token

View File

@ -1,5 +1,6 @@
package org.telegram.abilitybots.api.bot; package org.telegram.abilitybots.api.bot;
import org.apache.http.impl.client.SystemDefaultCredentialsProvider;
import org.telegram.abilitybots.api.db.DBContext; import org.telegram.abilitybots.api.db.DBContext;
import org.telegram.telegrambots.meta.api.methods.BotApiMethod; import org.telegram.telegrambots.meta.api.methods.BotApiMethod;
import org.telegram.telegrambots.meta.api.objects.Update; import org.telegram.telegrambots.meta.api.objects.Update;
@ -28,6 +29,8 @@ public abstract class AbilityWebhookBot extends BaseAbilityBot implements Webhoo
protected AbilityWebhookBot(String botToken, String botUsername, String botPath, DBContext db) { protected AbilityWebhookBot(String botToken, String botUsername, String botPath, DBContext db) {
this(botToken, botUsername, botPath, db, new DefaultBotOptions()); this(botToken, botUsername, botPath, db, new DefaultBotOptions());
} }
protected AbilityWebhookBot(String botToken, String botUsername, String botPath, DefaultBotOptions botOptions) { protected AbilityWebhookBot(String botToken, String botUsername, String botPath, DefaultBotOptions botOptions) {