diff --git a/backend/scripts/chatbot.py b/backend/scripts/chatbot.py
index 096622dbea767bd87d18aba915f84919f0b58c5b..bc17fe9990e4948885659c67fed3dabe6d8762c8 100755
--- a/backend/scripts/chatbot.py
+++ b/backend/scripts/chatbot.py
@@ -30,6 +30,7 @@ CONFIG = "pipeline.toml"
 RECONNECT_INTERVAL = 30
 
 with open(CONFIG, 'r') as fobj:
+    print(f"Reading configuration from {CONFIG}")
     config = toml.load(fobj)
     BOTNAME = config['Alerts']['botname']
     PASSWORD = config['Alerts']['password']
@@ -37,6 +38,7 @@ with open(CONFIG, 'r') as fobj:
 
 
 def get_channel_id(channel):
+    print(f"Getting channel ID for channel: {channel}")
     tries = 0
     while True:
         tries += 1
@@ -44,9 +46,9 @@ def get_channel_id(channel):
         try:
             rocket = RocketChat(BOTNAME, PASSWORD, server_url=URL)
         except requests.exceptions.ConnectionError as e:
-            log.error("Unable to connect to the RocketChat server: %s", e)
+            log.error(f"Unable to connect to the RocketChat server: {e}")
         except Exception as e:
-            log.error("Unknown error occured: %s", e)
+            log.error(f"Unknown error occured: {e}")
         else:
             break
 
@@ -54,9 +56,11 @@ def get_channel_id(channel):
         print(f"Reconnecting in {interval} seconds...")
         time.sleep(interval)
 
-    channels = rocket.channels_list().json()['channels']
+    channels = rocket.channels_list(count=0).json()['channels']
     for c in channels:
+        print(f"   -> {c['name']} => {c['_id']}")
         if c['name'] == channel:
+            print(f"Found channel ID for {channel} is {c['_id']}")
             return c['_id']
 
 
@@ -64,28 +68,42 @@ CHANNEL_ID = get_channel_id(CHANNEL)
 
 
 def run():
+    print("Running the monitoring bot system")
     bot = spawn_bot()
     register_handlers(bot)
     bot.run()
 
 
 def spawn_bot():
+    print("Spawning the bot")
     return RocketChatBot(BOTNAME, PASSWORD, URL)
 
 
 def is_shifter(user):
+    print(f"Checking if {user} is a shifter")
     with open(CONFIG, 'r') as fobj:
         config = toml.load(fobj)
-        return user in config['Alerts']['shifters']
+        try:
+            alerts_config = config['Alerts']
+        except KeyError:
+            log.error("No 'Alerts' section found in the configuration file")
+            return False
+        try:
+            return user in alerts_config['shifters']
+        except KeyError:
+            log.error("No 'shifters' section found in 'Alerts' of the configuration file")
+            return False
 
 
 def is_operator(user):
+    print(f"Checking if {user} is an operator")
     with open(CONFIG, 'r') as fobj:
         config = toml.load(fobj)
         return user in config['Alerts']['operators']
 
 
 def register_handlers(bot):
+    print("Registering API handlers")
     def greet(msg, user, channel_id):
         if channel_id != CHANNEL_ID:
             print("skipping")
@@ -93,19 +111,22 @@ def register_handlers(bot):
         bot.send_message('hello @' + user, channel_id)
 
     def status(msg, user, channel_id):
+        print(f"Reporting status to channel {channel_id}")
         if channel_id != CHANNEL_ID:
-            print("skipping")
+            print(f"Skipping channel with ID {channel_id}")
             return
         if not is_shifter(user) and not is_operator(user):
             bot.send_message(
                 "Sorry @{}, only operators and shifters are allowed to mess "
                 "with me, sorry...".format(user), channel_id)
             return
+        print("Asking subservisorctl for the status")
         try:
             status = "```\n" + subprocess.check_output(
                 ['supervisorctl', 'status']).decode('ascii') + "\n```"
         except subprocess.CalledProcessError as e:
             status = "```\n{}\n```".format(e.output.decode('ascii'))
+        print("Sending status")
         bot.send_message(status, channel_id)
 
     def supervisorctl(msg, user, channel_id):
@@ -172,6 +193,7 @@ def register_handlers(bot):
                 (['supervisorctl'], supervisorctl)]
     for trigger, handler in handlers:
         bot.add_dm_handler(trigger, handler)
+    print("All handlers are registered")
 
 
 def main():