File: extractcondition.rb

package info (click to toggle)
mikutter 5.1.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 9,780 kB
  • sloc: ruby: 22,912; sh: 186; makefile: 21
file content (26 lines) | stat: -rw-r--r-- 1,753 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Plugin.create(:mastodon) do
  cl = Plugin::Mastodon::Status

  defextractcondition(:mastodon_status, name: _('Mastodonで受信したトゥート'), operator: false, args: 0) do |message: raise|
    message.is_a?(cl)
  end
  defextractcondition(:mastodon_domain, name: _('ドメイン(Mastodon)'), operator: true, args: 1, sexp: MIKU.parse("`(,compare (host (uri message)) ,(car args))"))
  defextractcondition(:mastodon_spoiler_text, name: _('CWテキスト(Mastodon)'), operator: true, args: 1) do |arg, message: raise, operator: raise, &compare|
    message.is_a?(cl) && compare.(message.spoiler_text, arg)
  end
  defextractcondition(:mastodon_visibility, name: _('公開範囲(Mastodon)'), operator: true, args: 1) do |arg, message: raise, operator: raise, &compare|
    message.is_a?(cl) && compare.(message.visibility, arg)
  end
  defextractcondition(:mastodon_include_emoji, name: _('カスタム絵文字を含む(Mastodon)'), operator: false, args: 0) do |message: raise|
    message.is_a?(cl) && message.emojis.any?
  end
  defextractcondition(:mastodon_emoji, name: _('カスタム絵文字(Mastodon)'), operator: true, args: 1) do |arg, message: raise, operator: raise, &compare|
    message.is_a?(cl) && compare.(message.emojis.map(&:shortcode).join(' '), arg)
  end
  defextractcondition(:mastodon_tag, name: _('ハッシュタグ(Mastodon)'), operator: true, args: 1) do |arg, message: raise, operator: raise, &compare|
    message.is_a?(cl) && compare.(message.tags.map(&:name).join(' '), arg.downcase)
  end
  defextractcondition(:mastodon_bio, name: _('プロフィール(Mastodon)'), operator: true, args: 1) do |arg, message: raise, operator: raise, &compare|
    message.is_a?(cl) && compare.(message.account.note, arg)
  end
end