😮 Development tips and tricks

Not relevant for Garry's Mod.

launcher.lua

If you plan to create several bots, then instead of using separate files for each bot, you can use one file, which will run all the other bots about this scheme:

-- Optionally, the path to the folder with the modules
package.path = string.format("%s;%s;%s",
    "./path/?.lua",
    "./path/?/init.lua",
package.path)

-- List of bot code files
local bots = {"bot_file1", "bot_file2"}
for _,bot_name in ipairs(bots) do
    assert(pcall(require, bot_name))
    print(bot_name .. " loaded")
end

require("ggram").idle()

Only one polling server

Для тех, кто хочет работать с кучей ботов без личного веб сервера

Я сделал микросервис, который принимает вебхуки от разных сервисов, а сам выступает в качестве polling сервера, подобно как работает getUpdates в Telegram. Все боты отправляют ему обновления, затем я HTTP GET запросом получаю их в одном месте.

Для работы с этим сервисом я написал небольшой фреймворк и если для вас это интересно, то я могу опубликовать гайд, как его применить.

generated by LDoc 1.5.0 Last updated 2023-11-30 12:02:17