Skip to content
Docs
Modules Constructor

Questions and problems

Common questions about the Multogram Modules Constructor and troubleshooting: grayed-out actions, the constructor won't open, a module works in a test but not for the user, threads take the same account, not all accounts were processed, empty variables, Telegram action errors.

General questions

Do I need to know how to program?

No. The scenario is built from ready-made actions, the form from resources. Code is needed only for non-standard data processing — see Your own code. The AI assistant helps with the rest.

Which plan is needed?

Pro or Max — both for the author and for those who run the module. Plus the Multogram modes the module uses — see Mode requirements.

Where is the module project stored?

In the .agmp file wherever you saved it. Recent projects are shown in Recent modules on the Modules Constructor tab. The project can be handed to a co-author — they open it in their own constructor.

How do I update a module for users?

Build a new version with the same name and author and hand over the file. When it is added, Multogram offers to replace the installed module — see A new module version.

Problems

Why is an action grayed out and can't be added?

The action belongs to a Multogram mode your account doesn't have. The tooltip over the action names the mode. It is unlocked by a plan or a separate purchase — see Plans.

Why doesn't the constructor open?

The plan isn't Pro or Max — the tab then says "Modules Constructor is not available on your plan". If the plan fits, close the constructor window if it is open in the background, and click Create Module or Open again.

A module works in a test but not for the user

Check in order:

  1. Function results. Pass everything a function gives to its caller with the Return action — when the module runs, a function's variables aren't visible outside it, see Functions.
  2. Default values. Test values don't make it into the module; for the user the fields start with the default values. Mark important fields as required.
  3. File paths. A path from your disk doesn't exist on the user's computer — set files with a resource of the Path Picker type.
  4. Modes. The user must have all the modes from the Access requirements.
  5. Python and Node.js. For the Execute Python and Execute Node.js actions, they must be installed on the user's computer. The built-in JavaScript works everywhere.

Why do several threads work with the same account?

The threads read the whole accounts list and take the same item from it. Take an account with the Get Resource Value action and its Take Item parameter — then each account goes to one thread. The new module template does this in the Main function, see How to hand accounts out to threads.

Why weren't all the selected accounts processed?

Main processed one account and finished. A module's task ends when every thread has finished Main, so this way exactly as many accounts are processed as there are threads. Main must take the next account until the list is empty — as in the new module template. See When a module's task ends.

Why doesn't the module's task end?

Main doesn't leave its loop: the loop condition is always true, or the thread is waiting for something that never happens. Stop the task manually and check the condition with a test in the constructor.

The reason may also be the Threads window: in Continuously the task runs until it is stopped manually. See When a module's task ends.

Why is a value empty, or the notation itself printed instead?

  • A typo in the name: [[acount]] instead of [[account]].
  • A field path inside the brackets: [[account.phone]] won't work, you need [[account]].phone.
  • The action that should have written the variable ended with an error — its result isn't written. Handle the error in Try-Catch.
  • The resource has no value: in a test, set it in the Set Values window.

A Telegram action ends with an error

  • The session isn't open. Start Session must run in the thread before Telegram actions — check that AuthSession returned true.
  • The account's files are unavailable. Check the session_path and data_path paths in the test values.
  • FloodWait, spam block, restrictions. These are Telegram's answers — increase the pauses and reduce the volume, see Telegram limits and Errors explained.

The WHILE loop stopped with an error

The iteration limit kicked in: 1,000 in a test and 10,000 when the module runs. Check that the loop condition eventually becomes false, or set Max Iterations explicitly — see Conditions, loops and errors.

Updated

CookiesPrivacy Policy

We use essential cookies to run this site. With your consent, we will also use analytics cookies to improve it and marketing cookies to credit whoever referred you. You can change your choice at any time.