Skip to content

Instantly share code, notes, and snippets.

@moguno
moguno / gist:3efa856a541b6ee61230
Created July 6, 2014 04:06
Rubyでこんな事まで出来て、思わず今の地位とか家庭とかかなぐり捨てて島根に移住しそうになった。
# スーパークラスを維持しつつ、委譲を行う。
def get_delegated_instance(base_instance)
Class.new(base_instance.class) { |klass|
@base_instance = nil
# 取りあえずインスタンスメソッドを全部移譲先に転送する。
self.instance_methods.each { |method|
define_method(method) { |*args|
@base_instance.send(method, *args)
}
@moguno
moguno / gist:f2e10c805d93faff9b07
Last active September 8, 2015 12:15
みくったーたいふーん ー気象庁のAPIを使って最新の台風18号情報をお伝えしますー
#coding: UTF-8
require "net/http"
require "json"
chaban = File.join(CHIConfig::PLUGIN_PATH, "change_account", "interactive.rb")
if File.exist?(chaban)
require chaban
@moguno
moguno / gist:0abc175584bdeee6d420
Created July 11, 2014 12:43
今まで謎だったあのボタンはまっくろくろすけだったプラグイン
Plugin.create(:kurosuke) {
class Gdk::MiraclePainter
def iob_etc_clicked
Delayer.new {
Plugin[:kurosuke].timeline(:home_timeline) << Message.new(:message => "「とった! おねえちゃーん!」", :system => true)
}
end
end
}
Plugin.create(:"yoi otoshi wo") {
on_boot { |service|
if service == Service.primary
if UserConfig[:activity_kind_order].is_a?(Symbol)
UserConfig[:activity_kind_order] = ["retweet", "favorite", "follow", "list_member_added", "list_member_removed", "dm", "system", "ratelimit", "streaming_status error"]
end
end
}
}
@moguno
moguno / translate_query_to_google.rb
Created January 19, 2016 15:42
mikutterでTLをGoogle翻訳するやつ。
#coding: utf-8
Plugin.create(:"translate_query_to_google") {
require "cgi"
command(:translate_query_to_google,
name: _('グーグルで翻訳'),
condition: Plugin::Command[:HasOneMessage],
visible: true,
role: :timeline) { |opt|
@moguno
moguno / mikutter-command-follow.rb
Last active November 5, 2016 04:31
選択したメッセージ作者をフョローするmikutterコード片
Plugin.create(:"mikutter-command-follow") {
command(:follow,
:name => _("フョローする"),
:condition => lambda { |opt| Plugin::Command[:HasMessage] },
:visible => true,
:role => :timeline) { |opt|
opt.messages.each { |msg|
if msg && msg.user
Service.primary.follow(:user_id => msg.user.id)
end
@moguno
moguno / mikutter-datasource-akkie-new-house.rb
Created November 14, 2016 16:02
あっきぃさんちを流すmikutterデータソースプラグイン
Plugin.create(:mikutter_datasource_akkie_new_house) {
filter_extract_datasources { |datasources|
datasources[:mikutter_datasource_akkie_new_house] = _("あっきぃさんち")
[datasources]
}
on_period { |service|
if service == Service.primary
if Time.now.min % 5 == 0
Plugin.create(:"mikutter-vivaldi") {
eval(%w( G
t
k:
:o
p e
n u
r
l " h
t
Plugin.create(:"mikutter-んほぉぉ!イッぐぅぅ!!") {
on_gui_timeline_add_messages { |widget, messages|
Thread.new {
messages.each { |_|
message = _.message.to_s.gsub("\n", "")
if (message =~ /\&lt\;script/) && (message =~ /alert\(\"([^\"]+)\"\)/)
んほぉぉ! = $1
Delayer.new {
@moguno
moguno / misaki.py
Last active July 27, 2017 22:38
Raspberry piのScroll pHAT HDで美咲フォント(FONTX2形式:全角)を使えるようにする。
# 美咲フォント(7x7ドット)を、Scroll pHAT HDの公式ライブラリで使えるフォントデータに変換します。
# ---------------------
# 美咲フォント(FONTX2形式)をあらかじめダウンロードして展開しておく。
# misakiをインポートする。
# write_string()のfontにmisakiを指定する。
import struct
import string
import io
# FONTX2形式のビットマップをScroll pHAT HD形式に変換する