Compare commits
11 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d30b2e7270 | |||
| 69f82508cb | |||
| fddaa11645 | |||
| bbe740785d | |||
| 0389afa0fe | |||
| caec6933d1 | |||
| 420164c59a | |||
| b13f42645b | |||
| 22c945d21b | |||
| 12fab6fa53 | |||
| 51651e0c87 |
+12
-12
@@ -7,7 +7,7 @@ common:
|
||||
about-title: "Une ⭐ du fédiverse."
|
||||
about: "Merci d'avoir découvert Misskey. Misskey est une <b>plateforme de micro-blogging distribuée</b> née sur Terre. Parce qu'il fait partie du Fédiverse (un univers composé de diverses plateformes de réseaux sociaux organisées), il est mutuellement connecté avec d'autres plateformes de réseaux sociaux. Désirez-vous prendre une pause, pendant un instant, loin de l'agitation de la ville et plonger dans un nouvel Internet ?"
|
||||
adblock:
|
||||
detected: "広告ブロッカーを無効にしてください"
|
||||
detected: "Veuillez désactiver le bloqueur de publicités"
|
||||
warning: "<strong>Misskeyは広告を掲載していません</strong>が、広告をブロックする機能が有効だと一部の機能が利用できなかったり、不具合が発生する場合があります。"
|
||||
application-authorization: "アプリの連携"
|
||||
close: "Fermer"
|
||||
@@ -95,8 +95,8 @@ common:
|
||||
turn-of: "C’est le tour de {}"
|
||||
past-turn-of: "C'est au tour de {}"
|
||||
won: "{} a gagné"
|
||||
black: "Noir"
|
||||
white: "Blanc"
|
||||
black: "Noirs"
|
||||
white: "Blancs"
|
||||
total: "Total"
|
||||
this-turn: "Tour de {}"
|
||||
widgets:
|
||||
@@ -146,10 +146,10 @@ auth/views/form.vue:
|
||||
account-read: "アカウントの情報を見る。"
|
||||
account-write: "Modifications des informations du compte :"
|
||||
note-write: "投稿する。"
|
||||
like-write: "いいねしたりいいね解除する。"
|
||||
following-write: "フォローしたりフォロー解除する。"
|
||||
like-write: "Réagir aux publications."
|
||||
following-write: "S'abonner et se désabonner."
|
||||
drive-read: "Lire votre Drive"
|
||||
drive-write: "ドライブを操作する。"
|
||||
drive-write: "Téléverser/supprimer des fichiers dans votre Drive."
|
||||
notification-read: "Lire vos notifications."
|
||||
notification-write: "Gérer vos notifications."
|
||||
cancel: "Annuler"
|
||||
@@ -181,14 +181,14 @@ common/views/components/games/reversi/reversi.index.vue:
|
||||
all-games: "Tous les jeux"
|
||||
enter-username: "Saisir un nom d'utilisateur"
|
||||
game-state:
|
||||
ended: "終了"
|
||||
ended: "Terminé"
|
||||
playing: "En cours"
|
||||
common/views/components/games/reversi/reversi.room.vue:
|
||||
settings-of-the-game: "Paramètres du jeu"
|
||||
choose-map: "Sélectionnez une carte"
|
||||
random: "Aléatoire"
|
||||
black-or-white: "Noir/Blanc"
|
||||
black-is: "{}が黒"
|
||||
black-or-white: "Noirs/Blancs"
|
||||
black-is: "{} Noirs"
|
||||
rules: "Règles"
|
||||
is-llotheo: "石の少ない方が勝ち(ロセオ)"
|
||||
looped-map: "ループマップ"
|
||||
@@ -383,13 +383,13 @@ common/views/widgets/tips.vue:
|
||||
tips-line24: "Misskeyは2014年にサービスを開始しました"
|
||||
tips-line25: "対応ブラウザではMisskeyを開いていなくても通知を受け取れます"
|
||||
common/views/pages/follow.vue:
|
||||
signed-in-as: "Connecté en tant que {}"
|
||||
signed-in-as: "Connecté·é en tant que {}"
|
||||
following: "Suit"
|
||||
follow: "Suivre"
|
||||
request-pending: "Demande d'abonnement en attente"
|
||||
follow-request: "Demande d'abonnement"
|
||||
desktop/views/components/activity.chart.vue:
|
||||
total: "Noir ... Total"
|
||||
total: "Noirs ... Total"
|
||||
notes: "Bleu ... Notes"
|
||||
replies: "Rouge ... Réponses"
|
||||
renotes: "Vert ... Partages"
|
||||
@@ -1044,7 +1044,7 @@ mobile/views/pages/search.vue:
|
||||
mobile/views/pages/selectdrive.vue:
|
||||
select-file: "Choisissez un fichier"
|
||||
mobile/views/pages/settings.vue:
|
||||
signed-in-as: "Connecté en tant que {}"
|
||||
signed-in-as: "Connecté·e en tant que {}"
|
||||
lang: "Langue"
|
||||
lang-tip: "Le rechargement de la page est requis afin d'appliquer les modifications."
|
||||
recommended: "Recommandé"
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@ common:
|
||||
detected: "Spróbuj wyłączyć blokadę reklam."
|
||||
warning: "<strong>Misskey nie zawiera reklam</strong>, ale część funkcji może nie działać prawidłowo z włączonym blokowaniem reklam."
|
||||
application-authorization: "アプリの連携"
|
||||
close: "閉じる"
|
||||
close: "Zamknij"
|
||||
customization-tips:
|
||||
title: "カスタマイズのヒント"
|
||||
paragraph1: "ホームのカスタマイズでは、ウィジェットを追加/削除したり、ドラッグ&ドロップして並べ替えたりすることができます。"
|
||||
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"name": "misskey",
|
||||
"author": "syuilo <i@syuilo.com>",
|
||||
"version": "5.11.0",
|
||||
"clientVersion": "1.0.7938",
|
||||
"version": "5.12.0",
|
||||
"clientVersion": "1.0.7948",
|
||||
"codename": "nighthike",
|
||||
"main": "./built/index.js",
|
||||
"private": true,
|
||||
|
||||
@@ -73,7 +73,7 @@
|
||||
</header>
|
||||
|
||||
<div>
|
||||
<el-radio v-for="(r, i) in item.items" :key="item.id + ':' + i" v-model="item.value" :label="r.value" @change="onChangeForm($event, item)">{{ r.label }}</el-radio>
|
||||
<form-radio v-for="(r, i) in item.items" :key="item.id + ':' + i" v-model="item.value" :value="r.value" @change="onChangeForm($event, item)">{{ r.label }}</form-radio>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -317,7 +317,7 @@ root(isDark)
|
||||
border-radius 4px
|
||||
background isDark ? #282C37 : #fff
|
||||
color isDark ? #fff : #303133
|
||||
box-shadow 0 2px 12px 0 rgba(#000, 0.1)
|
||||
box-shadow 0 2px 12px 0 rgba(#000, isDark ? 0.7 : 0.1)
|
||||
|
||||
> header
|
||||
padding 18px 20px
|
||||
|
||||
@@ -9,6 +9,9 @@
|
||||
<form-button round @click="cancel">%i18n:@matching.cancel%</form-button>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else-if="gameId">
|
||||
...
|
||||
</div>
|
||||
<div class="index" v-else>
|
||||
<x-index @go="nav" @matching="onMatching"/>
|
||||
</div>
|
||||
@@ -45,22 +48,14 @@ export default Vue.extend({
|
||||
},
|
||||
|
||||
watch: {
|
||||
gameId(id) {
|
||||
if (id == null) {
|
||||
this.game = null;
|
||||
} else {
|
||||
Progress.start();
|
||||
(this as any).api('games/reversi/games/show', {
|
||||
gameId: id
|
||||
}).then(game => {
|
||||
this.nav(game, true);
|
||||
Progress.done();
|
||||
});
|
||||
}
|
||||
gameId() {
|
||||
this.fetch();
|
||||
}
|
||||
},
|
||||
|
||||
mounted() {
|
||||
this.fetch();
|
||||
|
||||
if (this.$store.getters.isSignedIn) {
|
||||
this.connection = (this as any).os.streams.reversiStream.getConnection();
|
||||
this.connectionId = (this as any).os.streams.reversiStream.use();
|
||||
@@ -88,6 +83,20 @@ export default Vue.extend({
|
||||
},
|
||||
|
||||
methods: {
|
||||
fetch() {
|
||||
if (this.gameId == null) {
|
||||
this.game = null;
|
||||
} else {
|
||||
Progress.start();
|
||||
(this as any).api('games/reversi/games/show', {
|
||||
gameId: this.gameId
|
||||
}).then(game => {
|
||||
this.nav(game, true);
|
||||
Progress.done();
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
nav(game, silent) {
|
||||
this.matching = null;
|
||||
this.game = game;
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
# MisskeyリバーシBotの開発
|
||||
Misskeyのリバーシ機能に対応したBotの開発方法をここに記します。
|
||||
|
||||
1. `reversi`ストリームに以下のパラメータを付けて接続する:
|
||||
1. `games/reversi`ストリームに以下のパラメータを付けて接続する:
|
||||
* `i`: botアカウントのAPIキー
|
||||
|
||||
2. 対局への招待が来たら、ストリームから`invited`イベントが流れてくる
|
||||
* イベントの中身に、`parent`という名前で対局へ誘ってきたユーザーの情報が含まれている
|
||||
|
||||
3. `reversi/match`へ、`user_id`として`parent`の`id`が含まれたリクエストを送信する
|
||||
3. `games/reversi/match`へ、`user_id`として`parent`の`id`が含まれたリクエストを送信する
|
||||
|
||||
4. 上手くいくとゲーム情報が返ってくるので、`reversi-game`ストリームへ、以下のパラメータを付けて接続する:
|
||||
4. 上手くいくとゲーム情報が返ってくるので、`games/reversi-game`ストリームへ、以下のパラメータを付けて接続する:
|
||||
* `i`: botアカウントのAPIキー
|
||||
* `game`: `game`の`id`
|
||||
|
||||
|
||||
@@ -103,6 +103,10 @@ export default async (user: IUser, data: Option, silent = false) => new Promise<
|
||||
data.visibleUsers = data.visibleUsers.filter(x => x != null);
|
||||
}
|
||||
|
||||
if (data.text) {
|
||||
data.text = data.text.trim();
|
||||
}
|
||||
|
||||
// Parse MFM
|
||||
const tokens = data.text ? parse(data.text) : [];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user