Control your ASF instance anywhere.
Docker Build Action Docker Pulls
- Executable: (python3) bot.py
- Arguments:
--token: Telegram API token given by @botfather (mandatory).--alias: Telegram alias of the bot owner. Only this user can send commands to ASF. (mandatory).--proxy: Telegram Proxy (if you have one. Input format:<protocol>://<host>:<port>. For example:http://192.168.1.1:7890)--host: ASF IPC host (defaults to127.0.0.1)--port: ASF IPC listening port (defaults to1242)--password: ASF IPC password (if you have set one)--verbosity: Log verbosity (DEBUG, INFO, WARN, ERROR)
You can also use environment variables to configure the bot. Environment variables would override any command argument set. The naming is pretty self-explanatory:
TELEGRAM_BOT_TOKENTELEGRAM_USER_ALIASTELEGRAM_PROXYASF_IPC_HOSTASF_IPC_PORTASF_IPC_PASSWORD
Once the bot has started and verified the connection to the ASF instance, you can send commands through your telegram bot using standard ASF notation (i.e.: !status asf) or Telegram notation (i.e.: /status asf).
The bot also reads messages containing Steam cd-keys. It will automatically parse every key and activate them on your accounts with !redeem asf {{parsed_cdkey}} notifying you the process.
- Create a bot via @botfather.
- Copy and fill the
docker-compose.ymlexample below. - Start it!
ASF must have a permissive IPC configuration in order to allow ASFBot to interact. A permissive IPC.json configuration looks like this:
{
"Kestrel": {
"Endpoints": {
"IPv4-http": {
"Url": "http://0.0.0.0:1242"
}
},
"PathBase": "/"
}
}You may also need to add this properties to ASF.json file:
{
"IPCPrefixes": [
"http://*:1242/"
]
}I recommend running ASFBot via its Docker image. Here it is an example docker-compose.yml to run bot ASF and the bot on Docker. Copy this to a file named docker-compose.yml, fill the appropriate missing data:
- (1) your ASF/config directory path.
- (2) Your Telegram bot token.
- (3) Your Telegram user alias.
Run docker-compose up -d`
P.S.: ARMv7 and ARM64 docker builds are untested. Did you try them? Contact me!
version: '3.2'
services:
asf:
image: justarchi/archisteamfarm
container_name: asf
hostname: asf
restart: unless-stopped
environment:
- ASF_ARGS=--server
ports:
- 1242:1242
volumes:
- <(1) paste here your old ASF/config directory>:/app/config
asfbot:
image: ghcr.io/dmcallejo/asfbot
container_name: asfbot
hostname: asfbot
restart: unless-stopped
depends_on:
- asf
environment:
- ASF_IPC_HOST=asf
- TELEGRAM_BOT_TOKEN=<(2) paste here your API token given by @botfather>
- TELEGRAM_USER_ALIAS=<(3) paste here your Telegram alias i.e.: @myalias>