:url => ' kohinata.sumomo.ne.jp/mikutter/mikutter15.pdfآ  eventmachine faye-websocket eventmachine...

Download :url => ' kohinata.sumomo.ne.jp/mikutter/mikutter15.pdfآ  eventmachine faye-websocket eventmachine faye-websocket

Post on 22-Jul-2020

0 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • on_boot do

    data = {

    :title => 'on_boot',

    :body => 'mikutter (^O^) ',

    :url => 'https://mikutter.hachune.net/'

    }

    Plugin.call(:fcm, data)

    end

  • defevent :tdr_show, priority: :ui_passive, prototype: [Array]

    on_tdr_show do |data|

    # 5 on_tdr_show 5

    t = Time.now - 5 * 60

    data.each do |show|

    if show.modified > t

    Plugin.call(:fcm, show)

    end

    end

    end

  • @cobodo@mstdn.kanagu.info

    1.

    2. Mastodon

    @Gargron@mastodon.social

  • 2.1. Twitter

  • 2.2. mikutter Mastodon

  • 3. Worldon

    3.1.

  • world_setting

    MessageMixin

    3.2.

    gui

    tab timeline

    extract

    update appear worldon_appear_toots

  • extract

    3.3.

    eventmachine faye-websocket

    eventmachine

    faye-websocket eventmachine

    faye-websocket websocket-client-simple

    eventmachine

    gem

  • pluggaloid eventmachine

    faye-

    websocket websocket-client-simple websocket

    websocket

    websocket

    ping pong

    sse_client

    sse_client sse_

    3.4. Diva

    Message Retriev-

    er Diva::Model

  • Retriever

    Diva

    Hash Diva::Model

    Status account Account

    Status

    Plugin::Worldon::Status Diva::Model

    Hash Account

    Plugin::Worldon::Account

    Diva::Model::MessageMixin Diva::Model::UserMixin include

    Gdk::ReplyViewer

    core/mui/cairo_replyviewer.rb Gdk::SubPart-

    sMessageBase

    message.has_receive_message?

    message.replyto_source_d

    core/lib/diva_hacks/mixin/message_mixin.rb

    has_receive_message? false

  • replyto_source_d MessageMixin

    has_receive_message? false replyto_source_d

    Gdk::ReplyViewer

    3.5. World

    world world_shifter current_world

    world

    world

    world_setting

    world_setting settings

    dialog

    world world

  • 3.5.1. settings(Form) DSL

    settings

    UserConfig

    Plugin.create(:sample) do

    settings " " do

    input(' ', :tekisuto)

    end

    end

    UserConfig[:tekisuto]

    3.5.2. dialog DSL

    dialog

    Plugin.create(:sample) do

    dialog " " do

    input(' ', :tekisuto)

    end.next do |result|

    # result[:tekisuto]

    puts result[:tekisuto]

    $stdout.flush

    end

  • end

    dialog settings

    settings

    UserConfig .next result

    .next Delayer::Deferred next

    fail next

    await_input

    Plugin.create(:sample) do

    dialog " " do

    input(' ', :tekisuto)

    result = await_input

    label " #{result[:tekisuto]} "

    end

    end

    await_input

    await_input result

    3.5.3. world_setting DSL

    world_setting world_setting

    world

    Plugin.create(:sample) do

    world_setting(:sample, ' ') do

    input(' ', :tekisuto)

    result = await_input

    Plugin::Sample::World.new(tekisuto: result[:tekisuto])

    end

  • end

    change_account dialog

    await_input world_setting

    instance_eval

    change_account dialog self

    world_setting

    await_input

    twitter

    worldon

    3.5.4. World

    world

    :worlds :world_current

    Service.primary

    3.6. Spell

    spell defspell Plugin.cre-

    ate

  • defspell

    compose

    compose

    defspell(:compose, :twitter) do |twitter, body:, to: nil, **options|

    #

    end

    defspell(:compose, :twitter, :twitter_tweet) do |twitter, tweet,

    body:, **options|

    #

    end

    compose

    defspell(:compose, :worldon) do |world, body:, **opts|

    #

    end

    defspell(:compose, :worldon, :worldon_status) do |world, status,

    body:, **opts|

    #

    end

    com-

    pose

    compose

    Gtk::PostBox

    module Gtk

    condition

  • class PostBox < Gtk::EventBox

    def post_it

    @posting = Plugin[:gtk].compose(

    current_world,

    to_display_only? ? nil : @to.first,

    **compose_options

    ).next{

    destroy

    }.trap{ |err|

    warn err

    end_post

    }

    start_post

    end

    end

    end

    current_world

    nil

    :twitter

    defspell(:compose, :twitter)

    :twitter :twitter_tweet

    defspell(:compose, :twitter, :twitter_tweet)

    :twitter :worldon_status

    :worldon

    defspell(:compose, :worldon)

    :worldon :worldon_status

    defspell(:compose, :worldon, :worldon_status)

    :worldon :twitter_tweet

  • Plugin::Spell::SpellNotFoundError raise

    Delayer::Deferred

    compose

    :worldon

    :twitter_tweet

    Plugin.create(:quoting_toot) do

    defspell(:compose, :worldon, :twitter_tweet) do |world, tweet,

    body:, **options|

    body = "#{body} #{tweet.uri}"

    spell(:compose, world, body: body, **options)

    end

    end

    3.7. Score

  • 3.7.1. score_filter

    score_filter

    filter_score_filter do |model, note, yielder|

    yielder

  • score_filter

    3.7.2. Worldon Score

    score_filter

    filter_score_filter do |model, note, yielder|

    next [model, note, yielder] unless model == note

    next [model, note, yielder] unless

    (model.is_a?(pm::Status) || model.is_a?(pm::AccountProfile))

    if model.score.size > 1 || model.score.size == 1 &&

    !model.score[0].is_a?(Plugin::Score::TextNote)

    yielder

  • sub-parts-image

    "\n----\n"

    TextNote

    '#'

    Tag

    mentions

    Account

    HyperLinkNote

    Tag Account

    :open intent

    3.7.2.2. Emoji

    :mikuslime:

    Status emojis

    Emoji

    emojis Emoji

    TextNote

    Emoji

  • TextNote TextNote Plugin::Score::E-

    mojiNote

    inline_photo

    4.

  • あとがき �������

    前号��������においては、������� を想いしのんだところであるので、今回は �������� を

    取り戻すべく、今アツいお二方からの記事を掲載した。

    としぁおじいちゃんは生理休暇です。

    � 月末にははぴねす!� がでるそうなのでよろしくお願いします。頭の中を軽くして、幸

    せな気持ちになれることを期待しています。

    ――次号予告と寄稿者募集――

    原稿提出期限︓6 ⽉末

    頒布予定︓コミックマーケット 96

    問合せ先︓@brsywe , @ch_print

    最近寄稿者が減少してきているので、まだ記事出したことないけれど︕という⽅も是⾮どうぞ。

    (但しいつも通り内容を精査します)

    奥付

    発行日:2018年 12月 31日(コミックマーケット 95):初版第一刷

    発行:mikutterの薄い本制作委員会

    発行者: @brsywe 西端の放送局内喫茶室長

    印刷所:ラクスル

    連絡先: brsywe @ hotmail.co.jp

    ご意見・ご感想は ������ギフト券のメッセージ欄にどうぞ。

    ��������の薄い本制作委員会ウェブページ

    ������������������������������������������

    ���������の薄い本制作委員会では、������ギフト券による金銭面の支援を受け付けております