class_docstr: A socket.io input channel.
class_docstr_tok: ["A","socket.io","input","channel","."]
docstr: Creates a ``SocketIOInput`` object.
docstr_tok: ["Creates","a","``","SocketIOInput","``","object","."]
code: def __init__(
      self,
      user_message_evt: Text = "user_uttered",
      bot_message_evt: Text = "bot_uttered",
      namespace: Optional[Text] = None,
      session_persistence: bool = False,
      socketio_path: Optional[Text] = "/socket.io",
      jwt_key: Optional[Text] = None,
      jwt_method: Optional[Text] = "HS256",
      metadata_key: Optional[Text] = "metadata",
  ):
      """Creates a ``SocketIOInput`` object."""
      self.bot_message_evt = bot_message_evt
      self.session_persistence = session_persistence
      self.user_message_evt = user_message_evt
      self.namespace = namespace
      self.socketio_path = socketio_path
      self.sio: Optional[AsyncServer] = None
      self.metadata_key = metadata_key
  
      self.jwt_key = jwt_key
      self.jwt_algorithm = jwt_method
  
imports: import logging
  import uuid
  import json
  from typing import Any, Awaitable, Callable, Dict, Iterable, List, Optional, Text
  import rasa.core.channels.channel
  from rasa.core.channels.channel import InputChannel, OutputChannel, UserMessage
  import rasa.shared.utils.io
  from sanic import Blueprint, response, Sanic
  from sanic.request import Request
  from sanic.response import HTTPResponse
  from socketio import AsyncServer
label_desc: Use image node_id 3 to create a new SocketIOInput object from inherited base classes: InputChannel with example: obj = SocketIOInput(user_message_evt, bot_message_evt, namespace, session_persistence, socketio_path, jwt_key, jwt_method, metadata_key)