跳转到主要内容

同时发布到Mastodon和Bluesky的小型CLI

项目描述

Not my ex PyPI Tests PyPI - Python Version

同时发布到Mastodon和Bluesky的小型应用程序。

显然,基于 cuducos/from-my-ex

它支持

  • 使用简单的CLI命令或GUI界面将状态更新发布到两个网络
  • 发布带图片的内容
  • 包括图像的alt文本
  • 设置发布语言

它不支持

  • 标记其他用户(它们在各个平台上会有不同的ID和服务器)

入门指南

要求

  • Python 3.9或更高版本

环境变量

一般设置
名称 描述 示例 默认值
NOT_MY_EX_DEFAULT_LANG 2字母ISO 639-1代码 "pt" None
发布到 Bluesky
名称 描述 示例 默认值
NOT_MY_EX_BSKY_AGENT Bluesky实例 "https://bsky.social" "https://bsky.social"
NOT_MY_EX_BSKY_EMAIL 在Bluesky中使用的电子邮件 "cuducos@mailinator.com" None
NOT_MY_EX_BSKY_PASSWORD 在Bluesky中使用的密码 App Passwords中创建。 None

未设置NOT_MY_EX_BSKY_EMAILNOT_MY_EX_BSKY_PASSWORD将禁用向Bluesky发布。

要向Mastodon发布
名称 描述 示例 默认值
NOT_MY_EX_MASTODON_INSTANCE Mastodon实例 "https://tech.lgbt" "https://mastodon.social"
NOT_MY_EX_MASTODON_TOKEN Mastodon访问令牌 前往您的设置开发然后创建应用程序以获取访问令牌。选择write:statuseswrite:media作用域。 None

未设置NOT_MY_EX_MASTODON_TOKEN将禁用向Mastodon发布。

安装

$ pip install not-my-ex

如果您想使用GUI,请运行pip install not-my-ex[gui]

用法

CLI

$ not-my-ex post "Magic, madness, heaven, sin" --images /tmp/1989.gif

您可以选择跳过--images或传递多个图片(例如--images taylor.jpg --images swift.gif)。

GUI

如果您已安装GUI扩展

$ not-my-ex gui

这是它的样子

Screenshot of not-my-ex GUI

API

from asyncio import gather

from httpx import AsyncClient

from not_my_ex.bluesky import Bluesky
from not_my_ex.mastodon import Mastodon
from not_my_ex.media import Media
from not_my_ex.post import Post


async def main():
    media_tasks = tuple(
        Media.from_img(path, alt=alt)
        for path, alt in (("taylor.jpg", "Taylor"), ("swift.jpg", "Swift"))
    )
    media = await gather(*media_tasks)

    post = Post(text="Magic, madness, heaven, sin", media=media, lang="en")
    async with AsyncClient() as http:
        post_tasks = tuple(cls(http).post(post) for cls in (Bluesky, Mastodon))
        await gather(*post_tasks)

Post中,medialang都是可选的。在Media中,alt是可选的。

贡献

需要uv Python包管理器。测试包括RuffMypy

$ uv run python -m pytest

项目详情


下载文件

下载适用于您的平台文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

not_my_ex-0.1.1.tar.gz (180.3 kB 查看哈希值)

上传时间

构建分发

not_my_ex-0.1.1-py3-none-any.whl (42.4 kB 查看哈希值)

上传时间 Python 3

支持者:

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面