• 検索結果がありません。

プロジェクト(金岡グループ)

N/A
N/A
Protected

Academic year: 2021

シェア "プロジェクト(金岡グループ)"

Copied!
14
0
0

読み込み中.... (全文を見る)

全文

(1)

プロジェクト(金岡グループ)

Javascript による開発

金岡 晃

(2)

JavaScript による開発

2017/6/9 プロジェクト

1

Botkit フレームワーク

ボットが実行されるフォルダの設定を行う

teraterm

によるサーバ上の作業)

実施コマンド

• mkdir <フォルダ名>

• cd <フォルダ名>

• npm init

• npm install [email protected] –save

• cp /home/kanaoka/js2019/node_modules/botkit/lib/GoogleHangoutsBot.js node_modules/botkit/lib/

mkdir

でフォルダを新規に

作成して、

cd

でそのフォ ルダに移動

botkit

を使うための初期化

そのままだとエラーがでるので、

エラーがでないバージョンの ファイルへと一部を入れ替え

(3)

JavaScript による開発

2017/6/9 プロジェクト

2

Botkit フレームワーク

ボット本体の作成

(ローカル<実習室

PC

、自宅

PC

>での作業)

ファイル名はかならず”index.js”とすること

JavaScript

言語

(4)

JavaScript による開発

2017/6/9 プロジェクト

3

Botkit フレームワーク

ボット本体のサーバへのアップロード

(ローカル<実習室

PC

、自宅

PC

>での作業)

• WinSCPを立ち上げてサーバ(avocado)に接続

さきほど作成したフォルダにindex.jsをアップロード

(5)

JavaScript による開発

2017/6/9 プロジェクト

4

Botkit フレームワーク

ボットの実行

teraterm

によるサーバ上の作業)

実施コマンド

• token=<APIトークン> node index.js

(6)

JavaScript による開発:簡単な例

2017/6/9 プロジェクト

5

ボットが実行されるフォルダの設定を行う

teraterm

によるサーバ上の作業)

実施コマンド

• mkdir testbot01

• cd testbot01

• npm init

• npm install [email protected] –save

• cp

/home/kanaoka/js2019/node_modules/botkit/lib/GoogleHangoutsB

ot.js node_modules/botkit/lib/

(7)

JavaScript による開発:簡単な例

2017/6/9 プロジェクト

6

ボット本体の作成(ローカル<実習室

PC

、自宅

PC

>での作業)

const Botkit = require('botkit');

if (!process.env.token) {

console.log('Error: Specify token in environment');

process.exit(1);

}

const controller = Botkit.slackbot({

debug: false });

controller.spawn({

token: process.env.token }).startRTM(function(err){

if (err) {

throw new Error(err);

} });

// say hi

controller.hears('hi',['direct_message','direct_mention','mention'],function(bot,message) { bot.reply(message,'hi');

});

(8)

JavaScript による開発:簡単な例

2017/6/9 プロジェクト

7

ボット本体の作成(ローカル<実習室

PC

、自宅

PC

>での作業)

const Botkit = require('botkit');

if (!process.env.token) {

console.log('Error: Specify token in environment');

process.exit(1);

}

const controller = Botkit.slackbot({

debug: false });

controller.spawn({

token: process.env.token }).startRTM(function(err){

if (err) {

throw new Error(err);

} });

// say hi

controller.hears('hi',['direct_message','direct_mention','mention'],function(bot,message) {

bot.reply(message,'hi');

});

DM

や言及(

@

ユーザ名 を付けてつぶや く)したときに、そのつぶやきが

hi

」だったら、「

hi

」と返す

(9)

JavaScript による開発:簡単な例

2017/6/9 プロジェクト

8

Botkit フレームワーク

ボットの実行

teraterm

によるサーバ上の作業)

実施コマンド

• token=xoxb-169493700566-7ev2Ze5xZJPeqHe0GbevIUJ6 node index.js

(10)

JavaScript による開発:簡単な例

2017/6/9 プロジェクト

9

(11)

JavaScript による開発:軽い応用

2017/6/9 プロジェクト

10

何か Bot あてにつぶやかれたら、登録してある複数の文言から ランダムに選択して返信する

やること

複数文言を登録してあるテキストファイル(1行に1文言)

を用意

テキストファイルの行数を読み込み、何行目を呼び出すか をランダムに決める

決められた行の文言をメッセージとして返す

(12)

JavaScript による開発:軽い応用

2017/6/9 プロジェクト

11

const Botkit = require('botkit');

if (!process.env.token) {

console.log('Error: Specify token in environment');

process.exit(1);

}

const controller = Botkit.slackbot({

debug: false });

controller.spawn({

token: process.env.token }).startRTM(function(err){

if (err) {

throw new Error(err);

} });

index.js

(前半)

さっきのと同じ

(13)

JavaScript による開発:軽い応用

2017/6/9 プロジェクト

12

// say hi

controller.hears('',['direct_message','direct_mention','mention'],function(bot,mess age) {

var fs = require('fs');

var contents = fs.readFileSync('comments.txt');

var lines = contents.toString().split('¥n').length -1;

var num = Math.floor(Math.random()*lines);

var dat = '';

var lnum = 0;

fs.readFileSync('comments.txt').toString().split('¥n').forEach(function (line){

if(lnum==num)dat=line;

lnum++;

});

bot.reply(message,dat);

});

index.js

(後半)

どのメッセージでも反応する

文言ファイル

comments.txt)を開く 行数をカウント

レスする文言をランダムに 選ぶ

その行をレスする

(14)

2017/6/9 プロジェクト 13

参照

関連したドキュメント

●お使いのパソコンに「Windows XP Service Pack 2」をインストールされているお客様へ‥‥. 「Windows XP Service

Classroom 上で PowerPoint をプレビューした状態だと音声は再生されません。一旦、自分の PC

CPU待ち時間 PCとPSWを 専用レジスタ

第二運転管理部 作業管理グループ当直長 :1名 第二運転管理部 作業管理グループ当直副長 :1名 第二運転管理部 作業管理グループメンバー :4名

■本 社 TEL 〒〇62札幌市豊平医平岸3条5丁目1番18号八ドソンビル ■八ドソン札幌 TEL

 右上の「ログイン」から Google アカウント でログインあるいは同じ PC であると⼆回⽬以

3 主務大臣は、第一項に規定する勧告を受けた特定再利用

自主事業 通年 岡山県 5名 岡山県内住民 99,282 円 定款の事業名 岡山県内の地域・集落における課題解決のための政策提言事業.