Skip to main content

Python Misskey Bot Framework

Project description

MiPA

Discord server invite Ruff

Overview

日本語版

MiPA is a Misskey Bot Framework created to allow for Discord.py-like coding.

About MiPAC

The API wrapper functionality provided by MiPA is managed by a library called MiPAC. Since the amount of work is significantly higher than that of MiPA, we are looking for people to work with us.

Supported Misskey Versions

Examples

import asyncio

from aiohttp import ClientWebSocketResponse
from mipac import Note
from mipac.models import ChatMessage

from mipa.ext.commands.bot import Bot


class MyBot(Bot):
    def __init__(self):
        super().__init__()

    async def _connect_channel(self):
      await self.router.connect_channel(['main', 'home'])

    async def on_ready(self, ws: ClientWebSocketResponse):
        await self._connect_channel()
        print('Logged in ', self.user.username)

    async def on_reconnect(self, ws: ClientWebSocketResponse):
        await self._connect_channel()

    async def on_note(self, note: Note):
        print(note.author.username, note.content)

    async def on_chat(self, message: ChatMessage):
        print(message.user.username, message.text)
        if message.text == 'hello':
            await self.client.chat.action.send(
                f'hello! {message.user.username}',
                user_id=message.user.id
            )

if __name__ == '__main__':
    bot = MyBot()
    asyncio.run(bot.start('wss://example.com/streaming', 'your token here'))

For more examples, please see the examples folder. If you don't know how to do what you want in the examples, please feel free to create an issue.

LICENSE

This project is provided under the MIT LICENSE.

MiPA has been inspired by Discord.py in many ways. Therefore, in places where we use the source code of Discord.py, we specify the license of Discord.py at the beginning of the file. Please check the code for details.

FOSSA Status

Special Thanks

  • Discord.py
    • We have been inspired by many aspects of Discord.py, such as the mechanism of Cogs and the management of tasks and states.

Documentation * Discord Server

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mipa-0.4.1.tar.gz (37.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mipa-0.4.1-py3-none-any.whl (29.4 kB view details)

Uploaded Python 3

File details

Details for the file mipa-0.4.1.tar.gz.

File metadata

  • Download URL: mipa-0.4.1.tar.gz
  • Upload date:
  • Size: 37.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.18

File hashes

Hashes for mipa-0.4.1.tar.gz
Algorithm Hash digest
SHA256 7064501153df3b3ea1e3e77e2c6be70dbc1b54d0e70dd8b172aa79fb12086cb9
MD5 2d9e7e6bfa968786f2aad09e8f56c0c6
BLAKE2b-256 2ea95c64aeb1dc0ea5cea3d128074c4eef9654c67adfe7f6ddd7957e36d7e579

See more details on using hashes here.

File details

Details for the file mipa-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: mipa-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 29.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.18

File hashes

Hashes for mipa-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 252935738b10442da5ea4a2e679850caae3eda0c8252ac2e192531fbbb4e56fc
MD5 ebad47e431cad7988c822bffeb2c7a59
BLAKE2b-256 970268e5f1eaa675d5e22772da4cb75a45c73c8694332ceb803ec7df05c7ec5d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page