Create Telegram bots of any complexity in Lua
local ggram = require("ggram")
local bot = ggram("token")
require("ggram.polling").start(bot) -- enables getUpdates loop
bot.command("start", function(ctx)
ctx.reply.text("Hello @" .. ctx.from.username)
end)
Additional examples can be found in /examples
- Can work both on pure Lua, and on the Garry's Mod server
- Does NOT require any third-party .dll or WEB scripts
- Very minimalistic and easily expandable
- If Telegram adds methods that are not already in the bot, they are very easy to add with a 3-line module
- Possibility for sending animations, documents, images
Download this repository and go to the downloaded folder. You can take a look at the contents of the Dockerfile. It does not contain ggram itself. It installs the dependencies to make it work.
# create image. You can choose any Dockerfile from this repo
docker build -t ggramenv:latest -f Dockerfile_tarantool .
# run example bot (echo.lua)
# dont forget to change bot token in the file
docker run -it \
-e "LUA_PATH=/app/lua/?.lua;/app/lua/?/init.lua;;" \
-v $PWD:/app ggramenv \
lua app/examples/echo.lua
# π
Install luarocks (package manager like apt but for lua)
sudo apt install luarocks # linux
# or
brew install luarocks # mac
Install ggram
luarocks install ggram
- Create bot.lua file. You can choose any name for the file.
- Paste the contents of /examples/echo.lua into the file.
- Run file with
lua bot.lua
. If you want to run a bot on a Garry's Mod server, then read this. - Check out other examples in the /examples folder.
If any error was occur, check the troubleshooting guide