async def fetch_message(self, id):
        """|coro|

        Retrieves a single :class:`.Message` from the destination.

        This can only be used by bot accounts.

        Parameters
        ------------
        id: :class:`int`
            The message ID to look for.

        Raises
        --------
        :exc:`.NotFound`
            The specified message was not found.
        :exc:`.Forbidden`
            You do not have the permissions required to get a message.
        :exc:`.HTTPException`
            Retrieving the message failed.

        Returns
        --------
        :class:`.Message`
            The message asked for.
        """

        channel = await self._get_channel()
        data = await self._state.http.get_message(channel.id, id)
        return self._state.create_message(channel=channel, data=data)
|coro|

        Retrieves a single :class:`.Message` from the destination.

        This can only be used by bot accounts.

        Parameters
        ------------
        id: :class:`int`
            The message ID to look for.

        Raises
        --------
        :exc:`.NotFound`
            The specified message was not found.
        :exc:`.Forbidden`
            You do not have the permissions required to get a message.
        :exc:`.HTTPException`
            Retrieving the message failed.

        Returns
        --------
        :class:`.Message`
            The message asked for.