Derleme ve Yayınlama

Modülünüzü PyPl üzerinden yayınlayın

Kullanıcıların paketinizi yüklemelerinin en kolay yollarından biri, PyPI’de modülleri yayınlamaktır. Lütfen PyPI hakkında ilgili dokümanlara ve öğreticilere ve paketleri yayınlamak için pip’e bakınız.

For EFB modules, the package is RECOMMENDED to have a name starts with efb-, or in the format of efb-platform-type, e.g. efb-irc-slave or efb-wechat-mp-filter-middleware. If there is a collision of name, you MAY adjust the package name accordingly while keeping the package name starting with efb-.

When you are ready, you may also want to add your module to the Modules Repository of EFB.

Modül keşfi

EH Forwarder Bot, kanalları ve orta sayfaları keşfetmek ve yönetmek için Setuptools’ Entry Point feature _ kullanır. setup.py komut dosyanıza veya .egg-info/entry_points.txt dizininde, grubu ve nesneyi aşağıdaki gibi belirtin:

  • Ana kanallar için grup: ehforwarderbot.master

  • Bağımlı kanallar için grup: ehforwarderbot.slave

  • Middlewares için grup: ehforwarderbot.middleware

Convention for object names is <author>.<platform>, e.g. alice.irc. This MUST also be your module’s ID.

Object reference MUST point to your module’s class, which is a subclass of either Channel or Middleware.

Örnek

setup.py komut dosyası

setup(
    # ...
    entry_points={
        "ehforwarderbot.slave": ['alice.irc = efb_irc_slave:IRCChannel']
    },
    # ...
)

.egg-info/entry_points.txt

[ehforwarderbot.slave]
alice.irc = efb_irc_slave:IRCChannel

Özel modüller

Kendi kullanımınız için mevcut modüllerden uzatmak ya da değişiklikler yapmak isterseniz, modüllerinizi özel modüllere yerleştirebilirsiniz directory.

For such modules, your channel ID MUST be the fully-qualified name of the class. For example, if your class is located at <EFB_BASE_PATH>/modules/bob_irc_mod/__init__.py:IRCChannel, the channel MUST have ID bob_ric_mod.IRCChannel for the framework to recognise it.