This commit is contained in:
syuilo 2018-03-16 22:38:28 +09:00
parent a0337d0489
commit 62abf32195
3 changed files with 26 additions and 19 deletions

View File

@ -45,17 +45,19 @@ process.on('message', async msg => {
//#region TLに投稿する //#region TLに投稿する
const game = msg.body; const game = msg.body;
const url = `https://${conf.host}/othello/${game.id}`; const url = `${conf.url}/othello/${game.id}`;
const user = game.user1_id == id ? game.user2 : game.user1; const user = game.user1_id == id ? game.user2 : game.user1;
const isSettai = form[0].value === 0; const isSettai = form[0].value === 0;
const text = isSettai const text = isSettai
? `?[${user.name}](https://${conf.host}/${user.username})さんの接待を始めました!` ? `?[${user.name}](${conf.url}/${user.username})さんの接待を始めました!`
: `対局を?[${user.name}](https://${conf.host}/${user.username})さんと始めました! (強さ${form[0].value})`; : `対局を?[${user.name}](${conf.url}/${user.username})さんと始めました! (強さ${form[0].value})`;
const res = await request.post(`https://api.${conf.host}/posts/create`, {
const res = await request.post(`${conf.api_url}/posts/create`, {
json: { i, json: { i,
text: `${text}\n→[観戦する](${url})` text: `${text}\n→[観戦する](${url})`
} }
}); });
post = res.created_post; post = res.created_post;
//#endregion //#endregion
} }
@ -72,16 +74,17 @@ process.on('message', async msg => {
const isSettai = form[0].value === 0; const isSettai = form[0].value === 0;
const text = isSettai const text = isSettai
? msg.body.winner_id === null ? msg.body.winner_id === null
? `?[${user.name}](https://${conf.host}/${user.username})さんに接待で引き分けました...` ? `?[${user.name}](${conf.url}/${user.username})さんに接待で引き分けました...`
: msg.body.winner_id == id : msg.body.winner_id == id
? `?[${user.name}](https://${conf.host}/${user.username})さんに接待で勝ってしまいました...` ? `?[${user.name}](${conf.url}/${user.username})さんに接待で勝ってしまいました...`
: `?[${user.name}](https://${conf.host}/${user.username})さんに接待で負けてあげました♪` : `?[${user.name}](${conf.url}/${user.username})さんに接待で負けてあげました♪`
: msg.body.winner_id === null : msg.body.winner_id === null
? `?[${user.name}](https://${conf.host}/${user.username})さんと引き分けました~ (強さ${form[0].value})` ? `?[${user.name}](${conf.url}/${user.username})さんと引き分けました~ (強さ${form[0].value})`
: msg.body.winner_id == id : msg.body.winner_id == id
? `?[${user.name}](https://${conf.host}/${user.username})さんに勝ちました♪ (強さ${form[0].value})` ? `?[${user.name}](${conf.url}/${user.username})さんに勝ちました♪ (強さ${form[0].value})`
: `?[${user.name}](https://${conf.host}/${user.username})さんに負けました... (強さ${form[0].value})`; : `?[${user.name}](${conf.url}/${user.username})さんに負けました... (強さ${form[0].value})`;
request.post(`https://api.${conf.host}/posts/create`, {
request.post(`${conf.api_url}/posts/create`, {
json: { i, json: { i,
reply_id: post.id, reply_id: post.id,
text: text text: text

View File

@ -29,7 +29,7 @@ const id = conf.othello_ai.id;
/** /**
* *
*/ */
const homeStream = new ReconnectingWebSocket(`wss://api.${conf.host}/?i=${i}`, undefined, { const homeStream = new ReconnectingWebSocket(`${conf.ws_url}/?i=${i}`, undefined, {
constructor: WebSocket constructor: WebSocket
}); });
@ -51,7 +51,7 @@ homeStream.on('message', message => {
if (post.user_id == id) return; if (post.user_id == id) return;
// リアクションする // リアクションする
request.post('https://api.misskey.xyz/posts/reactions/create', { request.post(`${conf.api_url}/posts/reactions/create`, {
json: { i, json: { i,
post_id: post.id, post_id: post.id,
reaction: 'love' reaction: 'love'
@ -60,7 +60,7 @@ homeStream.on('message', message => {
if (post.text) { if (post.text) {
if (post.text.indexOf('オセロ') > -1) { if (post.text.indexOf('オセロ') > -1) {
request.post('https://api.misskey.xyz/posts/create', { request.post(`${conf.api_url}/posts/create`, {
json: { i, json: { i,
reply_id: post.id, reply_id: post.id,
text: '良いですよ~' text: '良いですよ~'
@ -77,7 +77,7 @@ homeStream.on('message', message => {
const message = msg.body; const message = msg.body;
if (message.text) { if (message.text) {
if (message.text.indexOf('オセロ') > -1) { if (message.text.indexOf('オセロ') > -1) {
request.post(`https://api.${conf.host}/messaging/messages/create`, { request.post(`${conf.api_url}/messaging/messages/create`, {
json: { i, json: { i,
user_id: message.user_id, user_id: message.user_id,
text: '良いですよ~' text: '良いですよ~'
@ -92,7 +92,7 @@ homeStream.on('message', message => {
// ユーザーを対局に誘う // ユーザーを対局に誘う
function invite(userId) { function invite(userId) {
request.post(`https://api.${conf.host}/othello/match`, { request.post(`${conf.api_url}/othello/match`, {
json: { i, json: { i,
user_id: userId user_id: userId
} }
@ -102,7 +102,7 @@ function invite(userId) {
/** /**
* *
*/ */
const othelloStream = new ReconnectingWebSocket(`wss://api.${conf.host}/othello?i=${i}`, undefined, { const othelloStream = new ReconnectingWebSocket(`${conf.ws_url}/othello?i=${i}`, undefined, {
constructor: WebSocket constructor: WebSocket
}); });
@ -134,7 +134,7 @@ othelloStream.on('message', message => {
*/ */
function gameStart(game) { function gameStart(game) {
// ゲームストリームに接続 // ゲームストリームに接続
const gw = new ReconnectingWebSocket(`wss://api.${conf.host}/othello-game?i=${i}&game=${game.id}`, undefined, { const gw = new ReconnectingWebSocket(`${conf.ws_url}/othello-game?i=${i}&game=${game.id}`, undefined, {
constructor: WebSocket constructor: WebSocket
}); });
@ -222,7 +222,7 @@ async function onInviteMe(inviter) {
console.log(`Someone invited me: @${inviter.username}`); console.log(`Someone invited me: @${inviter.username}`);
// 承認 // 承認
const game = await request.post(`https://api.${conf.host}/othello/match`, { const game = await request.post(`${conf.api_url}/othello/match`, {
json: { json: {
i, i,
user_id: inviter.id user_id: inviter.id

View File

@ -103,9 +103,11 @@ type Source = {
type Mixin = { type Mixin = {
host: string; host: string;
scheme: string; scheme: string;
ws_scheme: string;
secondary_host: string; secondary_host: string;
secondary_scheme: string; secondary_scheme: string;
api_url: string; api_url: string;
ws_url: string;
auth_url: string; auth_url: string;
docs_url: string; docs_url: string;
ch_url: string; ch_url: string;
@ -131,6 +133,8 @@ export default function load() {
mixin.host = config.url.substr(config.url.indexOf('://') + 3); mixin.host = config.url.substr(config.url.indexOf('://') + 3);
mixin.scheme = config.url.substr(0, config.url.indexOf('://')); mixin.scheme = config.url.substr(0, config.url.indexOf('://'));
mixin.ws_scheme = mixin.scheme.replace('http', 'ws');
mixin.ws_url = `${mixin.ws_scheme}://api.${mixin.host}`;
mixin.secondary_host = config.secondary_url.substr(config.secondary_url.indexOf('://') + 3); mixin.secondary_host = config.secondary_url.substr(config.secondary_url.indexOf('://') + 3);
mixin.secondary_scheme = config.secondary_url.substr(0, config.secondary_url.indexOf('://')); mixin.secondary_scheme = config.secondary_url.substr(0, config.secondary_url.indexOf('://'));
mixin.api_url = `${mixin.scheme}://api.${mixin.host}`; mixin.api_url = `${mixin.scheme}://api.${mixin.host}`;