WeeChat Notification Center 项目教程

WeeChat Notification Center 项目教程

weechat-notification-centerWeeChat script to pass highlights and private messages to the macOS Notification Center项目地址:https://gitcode.com/gh_mirrors/we/weechat-notification-center

1. 项目的目录结构及介绍

WeeChat Notification Center 项目的目录结构如下:

weechat-notification-center/
├── .editorconfig
├── .gitattributes
├── LICENSE
├── notification_center.py
├── README.md
├── screenshot.png
└── weechat.png
  • .editorconfig: 编辑器配置文件,用于统一代码风格。
  • .gitattributes: Git 属性配置文件,用于指定文件的属性。
  • LICENSE: 项目的许可证文件,本项目使用 MIT 许可证。
  • notification_center.py: 项目的主脚本文件,用于将高亮和私信传递到 macOS 通知中心。
  • README.md: 项目的说明文档,包含安装和使用说明。
  • screenshot.png: 项目的截图文件。
  • weechat.png: 项目的图标文件。

2. 项目的启动文件介绍

项目的启动文件是 notification_center.py。该文件的主要功能是将 WeeChat 中的高亮消息和私信传递到 macOS 通知中心。以下是该文件的主要内容:

import os
import datetime
import weechat
from pync import Notifier

SCRIPT_NAME = 'notification_center'
SCRIPT_AUTHOR = 'Sindre Sorhus <sindresorhus@gmail.com>'
SCRIPT_VERSION = '1.5.2'
SCRIPT_LICENSE = 'MIT'
SCRIPT_DESC = 'Pass highlights and private messages to the macOS Notification Center'

weechat.register(SCRIPT_NAME, SCRIPT_AUTHOR, SCRIPT_VERSION, SCRIPT_LICENSE, SCRIPT_DESC, '', '')

WEECHAT_VERSION = weechat.info_get('version_number', '') or 0
if int(WEECHAT_VERSION) >= 0x03020000:
    WEECHAT_ICON = os.path.join(weechat.info_get('weechat_dir', ''), 'weechat.png')
else:
    WEECHAT_ICON = os.path.join(os.path.dirname(__file__), 'weechat.png')

def notify(data, buffer, date, tags, displayed, highlight, prefix, message):
    if int(weechat.config_get_plugin('min_notify_level') or 0) > int(highlight):
        return weechat.WEECHAT_RC_OK

    sound = weechat.config_get_plugin('sound') or None
    activate_bundle_id = weechat.config_get_plugin('activate_bundle_id') or None

    if 'irc_privmsg' in tags and 'notify_highlight' in tags:
        channel = weechat.buffer_get_string(buffer, 'localvar_channel')
        if weechat.config_get_plugin('show_message_text') == 'on':
            Notifier.notify(message, title='%s @ %s' % (prefix, channel), sound=sound, appIcon=WEECHAT_ICON, activate=activate_bundle_id)
        else:
            Notifier.notify('In %s by %s' % (channel, prefix), title='Highlighted Message', sound=sound, appIcon=WEECHAT_ICON, activate=activate_bundle_id)
    elif weechat.config_get_plugin('show_private_message') == 'on' and 'irc_privmsg' in tags and 'notify_private' in tags:
        if weechat.config_get_plugin('show_message_text') == 'on':
            Notifier.notify(message, title='%s [private]' % prefix, sound=sound, appIcon=WEECHAT_ICON, activate=activate_bundle_id)
        else:
            Notifier.notify('From %s' % prefix, title='Private Message', sound=sound, appIcon=WEECHAT_ICON, activate=activate_bundle_id)

    return weechat.WEECHAT_RC_OK

weechat.hook_print('', 'irc_privmsg', '', 1, 'notify', '')

该脚本通过 weechat.hook_print 函数监听 WeeChat 中的消息,并根据消息的标签和配置选项决定是否发送通知到

weechat-notification-centerWeeChat script to pass highlights and private messages to the macOS Notification Center项目地址:https://gitcode.com/gh_mirrors/we/weechat-notification-center

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郎凌队Lois

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值