code: def _callback(self, row, key):
      ctx.load(self._ctx_dump)
  
      row.update(key)
  
      t_params = self.params["chat_table"]
  
      message = ChatBotMessage(
          ChatBotMessage.Type.DIRECT,
          row[t_params["text_col"]],
          # In Slack direct messages are treated as channels themselves.
          row[t_params["username_col"]],
          row[t_params["chat_id_col"]],
      )
  
      chat_id = row[t_params["chat_id_col"]]
  
      chat_memory = self.chat_task.memory.get_chat(chat_id)
      self.chat_task.on_message(chat_memory, message)
  
imports: import time
  from mindsdb_sql.parser.ast import Identifier, Select, Insert
  from mindsdb.utilities import log
  from mindsdb.utilities.context import context
  from .types import ChatBotMessage, BotException
label_desc: Use image node_id 2 for calling the RealtimePolling obj's underlying member method code with example usage: obj._callback(row, key) without return types