I hereby claim:
- I am kypkyp on github.
- I am kypkyp (https://keybase.io/kypkyp) on keybase.
- I have a public key ASDGpS_lyN6PpwICJ7_AaxbeyiFnD2x1qyNndAnmcN63bQo
To claim this, I am signing this object:
namespace :interaction_task do | |
desc 'kari bunseki' | |
task analyze: :environment do | |
# aws dynamodb query --table-name nuita-prd-interaction --key-condition-expression 'user_id = :user_id' --expression-attribute-value '{":user_id": {"N": "24"}}' > raw.json | |
# cat raw.json | jq '.Items[] | {event_type: .event_type.S, item_id: .item_id.N}' | jq -s '.' > output.json | |
# ただの配列だと認識されないから結局手でいじった | |
json = File.read('./output.json') | |
items = JSON.parse(json).fetch('items') |
inherit_from: .rubocop_todo.yml | |
require: | |
- rubocop-minitest | |
- rubocop-performance | |
- rubocop-rails | |
AllCops: | |
TargetRubyVersion: 2.7 | |
NewCops: enable |
I hereby claim:
To claim this, I am signing this object:
controller.hears(['sudo tweet '], 'direct_mention,mention,ambient', function(bot, message) { | |
if(message.channel === "C2Z3UJWAW"){ | |
var output = message.text.slice(10,message.text.length); | |
var name; | |
if(output.indexOf('@') === -1 && output.indexOf('@') === -1 && output.indexOf('[by') === -1 && output.indexOf('twitter.com') === -1 && output.indexOf('t.co') === -1){ | |
// DEBUG | |
if(Math.random() < 0.25){ |
controller.hears(['sudo tweet '], 'direct_mention,mention,ambient', function(bot, message) { | |
if(message.channel === "C2Z3UJWAW"){ | |
var output = message.text.slice(10,message.text.length); | |
var name; | |
if(output.indexOf('@') === -1 && output.indexOf('[by') === -1 && output.indexOf('twitter.com') === -1 && output.indexOf('t.co') === -1){ | |
/* 生のIDから名前を特定する */ | |
// DEBUG |
controller.hears(['tweet '], 'direct_mention,mention,ambient', function(bot, message) { | |
var output = message.text.slice(10,message.text.length); | |
if(message.channel === "C2Z3UJWAW"){ | |
twitterClient.post('statuses/update', {status: "[from #kyp_memo]" + output}, function(error, tweet, response) | |
if(!error){ | |
bot.say({ | |
channel:"C2Z3UJWAW", | |
text:"https://twitter.com/_kypu/status/" + tweet.id_str, // tweet.id ではない!(utgwさんに感謝) | |
}); |
var Twitter = require('twitter'); | |
var twitterClient = new Twitter({ | |
consumer_key: ***, | |
consumer_secret: ***, | |
access_token_key: ***, | |
access_token_secret: *** | |
}); | |
twitterClient.post('statuses/update', {status: "node.jsからのつぶやきテスト"}, function(error, tweet, response){ |
controller.hears(['@[0-9a-z_]+'], 'direct_message,direct_mention,mention,ambient', function(bot, message) { | |
if(message.channel === "C2Z3UJWAW"){ | |
var mentionedID = message.text.match(/@[0-9a-z_]+/); | |
var ansstr = mentionedID + " そうだよ"; | |
bot.say({ | |
channel:"C2Z3UJWAW", | |
text:ansstr, | |
username:"BOT", | |
icon_url:"https://i.gyazo.com/f3e1776ca8cbde6644df9fe04bcbf05a.jpg" | |
}); |
/* ソビエト式倒置法 */ | |
controller.hears(['(.*)を(.*)(う|く|ぐ|す|ず|つ|づ|ぬ|ふ|ぶ|む|る|ゆ)'], 'direct_message,direct_mention,mention,ambient', function(bot, message) { | |
if(message.channel === "C2Z3UJWAW"){ | |
var splittext = message.text.match(/(\S+)を(\S+)/); | |
var outstr; | |
if(splittext[1].indexOf("は") != -1){ | |
var subtext = splittext[1].split("は"); | |
outstr = "ソビエトロシアでは、" + subtext[1] + "は" + subtext[0] + "を" + splittext[2] + "!"; | |
}else if(splittext[1].indexOf("が") != -1){ |
/* じっさいには トークンとか いろいろな初期設定がひつよう (ただし デフォルトのサンプルコードに のっとればOK)*/ | |
controller.hears(['hi'], 'direct_message,direct_mention,mention,ambient', function(bot, message) { | |
if(message.channel === "********"){ | |
bot.say({ | |
channel:"C2Z3UJWAW", | |
text:"hello!", | |
username:"kyp_bot" | |
}); | |
} |