<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _dispatch_trigger(self, msg):
 """ Dispatches the message to the corresponding method. """

        if not msg.args[0].startswith(self.trigger_char):
            return
        split_args = msg.args[0].split()
        trigger = split_args[0].lstrip(self.trigger_char)
        if trigger in self.triggers:
            method = getattr(self, trigger)
            if msg.command == PRIVMSG:
                if msg.dst == self.irc.nick:
                    if EVT_PRIVATE in self.triggers[trigger]:
                        msg.event = EVT_PRIVATE
                        method(msg)
                else:
                    if EVT_PUBLIC in self.triggers[trigger]:
                        msg.event = EVT_PUBLIC
                        method(msg)
            elif (msg.command == NOTICE) and (EVT_NOTICE in self.triggers[trigger]):
                msg.event = EVT_NOTICE
                method(msg)