Compare commits

..

No commits in common. "e874b98896cccb465935275af002833a374065e9" and "4a65d8d07d462313d3a87b57212fdfd856b64ee1" have entirely different histories.

2 changed files with 34 additions and 53 deletions

View File

@ -34,7 +34,6 @@ Firstly, you want to make a file called "meta.json" - it will let the module loa
"start_on_boot": true, # tells mod loader to start your module automatically; false by default
"version": 1, # this points to the specific version of modVM your code needs to run; 1 by default
"alias": "testapp" # adds an alias to your module which can be later specified in control commands
"predefine": "predefine.py" # locates your predefine code (it is being run only once on module load
}
```
@ -45,14 +44,5 @@ After that you can start writing your code in the index.py file; every code is d
- you can use modules already available to you (json, codecs); please, try to avoid importing unneccesary modules
- if you need to access files amd folders in your module dicertory, you can easily do so by using self.path + "filename"; self.path always contains your current folder name
- please, avoid using time.sleep() in any scenario; modules are syncronous, so usage of this method will stall the entire bot
- in order to define persistent variables you can set them in your predefine file
If you want to submit your code, please check if it works by testing the output (see "testing" section below); if you want to submit the code for someone to do more work on it, you should set "start_on_boot" to "false" in meta.json file (the same should be done for testing/unstable modules)
## Testing modules locally
In order to test the modules/bot offline you can run the module-testing.py file - it behaves just like the bot, but allows you to enter any message, doesn't require Internet connection and bot token. This is a good way to test your modules before publishing them.
It can be used like this:
```
python3 module-testing.py
```
If you want to submit your code, please check if it works by running the bot and testing the output; if you want to submit the code for someone to do more work on it, you should set "start_on_boot" to "false" in meta.json file (the same should be done for testing/unstable modules)

View File

@ -154,7 +154,6 @@ class ModuleControlUnit:
# synchronous message processor
def queue_processor():
while True:
try:
if len(message_queue) > 0:
msg = message_queue[0]
print("[DEBUG] queue_processor: {}".format(msg)) # debug
@ -179,7 +178,7 @@ def queue_processor():
if mod.version == 1:
responce = mod.process(msg)
if len(responce) > 0:
updater.bot.send_message(chat_id = msg.chat.id, text = responce)
#updater.bot.send_message(chat_id = msg.chat.id, text = responce)
print("Responded using module {} ({}) with text: {}".format(mod.path, mod.alias, responce))
break
@ -189,14 +188,6 @@ def queue_processor():
break
else:
time.sleep(1)
except Exception as e:
print("[ERROR] queue_processor: current message queue: {}".format(message_queue))
print("[ERROR] queue_processor: error while processing message, trying to delete it...")
try:
del message_queue[0]
print("[INFO] queue_processor: deleted broken message from the queue")
except:
print("[WARN] queue_processor: message seems absent, whatever")
print("[INFO] queue_processor thread stops successfully")