You can set the welcome message to be text or Structured Message.

@param string $text
@param StructuredMessage $template Structured Message
765803
public function addNext($text, $template = null)
    {
        if(!empty($text))
        {
            $this->callToActions = ['message' => ['text' => $text]];
        }
        
        if(!empty($template))
        {
            if($template instanceof StructuredMessage)
            {
                $this->callToActions = ['message' => [$template->getDataForCall(FALSE)]];
            }
            else
            {
                throw new MessengerPlatformException('Template for welcome message is not StructuredMessage.', 4);
            }
        }
    }
1012517
protected function createMessageContent(Twig_Template $template, array $context): MessageContent
    {
        $mimeType = $this->renderBlock($template, 'content_type', $context);
        $content = $mimeType === 'text/html'
            ? new HtmlMessageContent
            : new GenericMessageContent($mimeType);

        $context['_content'] = $content;
        $content->modify(
            $this->renderBlock($template, 'content', $context),
            $this->renderBlock($template, 'text_content', $context) ?: null
        );

        $attachments = array_filter(preg_split('/\s*[,;]\s*/', trim($this->renderBlock($template, 'attachments', $context))));
        foreach ($attachments as $path) {
            $content->attach($path);
        }

        return $content;
    }
371923
public function setText($text)
    {
        $this->template->trySet('Content', $this->app->_($text));

        return $this;
    }
144504
public static function addMessage($text, $status = 'info'): void
    {
        $message         = new stdClass();
        $message->text   = $text;
        $message->status = $status;

        $messages   = Session::get(self::FLASH_KEY, []);
        $messages[] = $message;
        Session::put(self::FLASH_KEY, $messages);
    }
1228064
public static function _text($text, $values = array()) {
		_t($text, static::getDomain(), is_array($values) ? $values : array_slice(func_get_args(), 1));
	}
44463
public function addMessage($text)
	{
		$this->isValid = false;
		$this->messages[] = $this->commonComment . $text;
	}
574964
public function addText($msg)
    {
        if ($this->message === null) {
            $this->message = "";
        }
        $this->message .= $this->project->replaceProperties($msg);
    }
96195
public function iSeeMessage( $text )
    {
        trigger_error(
            "iSeeMessage is deprecated since v6.3.0 and will be removed in v7.0.0",
            E_USER_DEPRECATED
        );
        $this->checkForExceptions();
        $this->assertSession()->pageTextContains( $text );
    }
770259
protected function setMessage()
    {
        $this->message = sprintf($this->message, $this->providedValue, $this->currentDomain);
    }
1281681
public function apply(&$templateString) {

		$this->encoding = strtoupper(Application::getInstance()->getConfig()->site->default_encoding);

		$templateString = preg_replace_callback(
			'~(^|\s|>|(?:<a [^>]*?>.*?))'.Rex::URI_STRICT.'(<|\s|$)~i',
			array($this, 'urlAnchors'),
			$templateString
		);

		$templateString = preg_replace_callback(
			'~(<a [^>]*?>.*?|)('.Rex::EMAIL.')([^<]*</a>|)~i',
			array($this, 'obfuscatedMailAnchors'),
			$templateString
		);

	}
621383
protected function welcomeMessage ()
    {
        $this->comment ('');
        $this->comment ('**************************************************');
        $this->comment (' Welcome to HoneyComb CMS initial configuration!!!');
        $this->comment ('**************************************************');
        $this->info ('');
    }
583861
public function filter(&$text, TemplateInterface $template)
    {
        //Parse the tags
        $tags = $this->_parseTags($text, $template);

        //Prepend the tags again to the text
        $text = $tags.$text;
    }
4255
protected function _notification($title, $text) {
		if (!isset($this->Email)) {
			$this->Email = new Email();
		} else {
			$this->Email->reset();
		}

		$this->Email->to(Configure::read('Config.adminEmail'), Configure::read('Config.adminName'));
		$this->Email->subject($title);
		$this->Email->template('simple_email');
		$this->Email->viewVars(compact('text'));
		if ($this->Email->send()) {
			return true;
		}

		return false;
	}
253867
public function addText(string $t)
    {
        $t          = trim($t, "\r\n\t");
        $t          = str_replace([
            '<br>',
            '&nbsp;',
        ], [
            "\n",
            ' ',
        ], $t);
        $t          = strip_tags($t);
        $t          = htmlspecialchars_decode($t);
        $this->text .= $t;
    }
18929
function setSenderText( $text )
    {
        $this->extractEmail( $text, $email, $name );
        $this->Mail->from = new ezcMailAddress( $email, $name, $this->usedCharset() );
        $this->From = array( 'name' => $name,
                             'email' => $email );
    }
878727
public function isTextValid(string $text): bool
    {
        $parser = new Node_Container_Document();

        if ($this->configData['emoticons']['active']) {
            $parser->add_emoticons($this->configData['emoticons']['path']);
        }

        $this->errorText = '';
        $result = true;
        try {
            $parser->parse($text)
                ->detect_links()
                ->detect_emails();

            if ($this->configData['emoticons']['active']) {
                $parser->detect_emoticons();
            }

            $parser->get_html();

        } catch (\Exception $e) {
            $result = false;
            $this->errorText = $e->getMessage();
        } catch (\Throwable $e) {
            $result = false;
            $this->errorText = $e->getMessage();
        }

        return $result;
    }
1318903
public function filter(&$text, TemplateInterface $template)
    {
        $this->_addMetatag($text);
        $this->_addAction($text, $template);
        $this->_addToken($text);
        $this->_addQueryParameters($text);
    }