class_docstr: Output channel that collects send messages in a list.
  
  (doesn't send them anywhere, just collects them).
class_docstr_tok: ["Output","channel","that","collects","send","messages","in","a","list",".","(","does","n't","send","them","anywhere",",","just","collects","them",")","."]
docstr: Raises a warning if text contains an emoji.
docstr_tok: ["Raises","a","warning","if","text","contains","an","emoji","."]
code: def _emoji_warning(text: Text) -> None:
      """Raises a warning if text contains an emoji."""
      emoji_regex = rasa.utils.io.get_emoji_regex()
      if emoji_regex.findall(text):
          rasa.shared.utils.io.raise_warning(
              "Text contains an emoji in a voice response. "
              "Review responses to provide a voice-friendly alternative."
          )
  
imports: from sanic import Blueprint, response
  from sanic.request import Request
  from sanic.response import HTTPResponse
  from twilio.twiml.voice_response import VoiceResponse, Gather
  from typing import Text, Callable, Awaitable, List, Any, Dict, Optional
  import rasa.utils.io
  import rasa.shared.utils.io
  from rasa.shared.core.events import BotUttered
  from rasa.shared.exceptions import InvalidConfigException
  from rasa.core.channels.channel import InputChannel, CollectingOutputChannel, UserMessage
label_desc: Use image node_id 2 for calling the TwilioVoiceCollectingOutputChannel obj's underlying member method code with example usage: obj._emoji_warning(text) without return types