fix self game invite

fixes #6
This commit is contained in:
Robin Appelman 2020-12-25 22:49:44 +01:00
commit 18d411e324
4 changed files with 19 additions and 20 deletions

View file

@ -22,7 +22,7 @@ RUN apk add --no-cache \
COPY package.json package-lock.json ./
RUN chown -R node:node /opt/mx-puppet-steam
USER node
RUN npm install
RUN npm ci
COPY tsconfig.json ./
COPY src/ ./src/

22
package-lock.json generated
View file

@ -263,9 +263,9 @@
"integrity": "sha512-Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q=="
},
"@types/node": {
"version": "14.14.10",
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.10.tgz",
"integrity": "sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ=="
"version": "14.14.16",
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.16.tgz",
"integrity": "sha512-naXYePhweTi+BMv11TgioE2/FXU4fSl29HAH1ffxVciNsH3rYXjNP2yM8wqmSm7jS20gM8TIklKiTen+1iVncw=="
},
"@types/qs": {
"version": "6.9.5",
@ -1693,9 +1693,9 @@
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
},
"js-yaml": {
"version": "3.14.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
"integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
"version": "3.14.1",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
"integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
"requires": {
"argparse": "^1.0.7",
"esprima": "^4.0.0"
@ -3106,8 +3106,8 @@
"integrity": "sha512-d+tjnr3wwDkbrKFxjYZ0uK4CSF09oJwCmlGH8SdOlTDkbtBPuNhPKY0XzZxQVltZF6/JkEYj+uz+kBr6UrY7BQ=="
},
"steam-user": {
"version": "github:icewind1991/node-steam-user#f20f6a042279b606edd6d13f16605984772d83c3",
"from": "github:icewind1991/node-steam-user#bbcode-sticker",
"version": "github:icewind1991/node-steam-user#60c6728fdf06d728f3a44ab03e106fc3fb096fb4",
"from": "github:icewind1991/node-steam-user#60c6728",
"requires": {
"@bbob/parser": "^2.2.0",
"@doctormckay/stdlib": "^1.11.1",
@ -3381,9 +3381,9 @@
}
},
"typescript": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.2.tgz",
"integrity": "sha512-thGloWsGH3SOxv1SoY7QojKi0tc+8FnOmiarEGMbd/lar7QOEd3hvlx3Fp5y6FlDUGl9L+pd4n2e+oToGMmhRQ==",
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz",
"integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==",
"dev": true
},
"typical": {

View file

@ -15,10 +15,10 @@
"command-line-args": "^5.1.1",
"command-line-usage": "^6.1.1",
"gif-encoder": "^0.7.2",
"js-yaml": "^3.14.0",
"js-yaml": "^3.14.1",
"mx-puppet-bridge": "0.1.0-1",
"node-steam-user": "0.0.3",
"steam-user": "icewind1991/node-steam-user#bbcode-sticker",
"steam-user": "github:icewind1991/node-steam-user#60c6728",
"steamcommunity": "3.42.0",
"steamid": "1.1.3",
"stream-buffers": "^3.0.2",
@ -26,8 +26,8 @@
},
"devDependencies": {
"@types/gif-encoder": "^0.7.0",
"@types/node": "^14.14.10",
"@types/node": "^14.14.16",
"@types/steamid": "^1.1.0",
"typescript": "^4.1.2"
"typescript": "^4.1.3"
}
}

View file

@ -46,7 +46,7 @@ async function apngToGif(sourceUrl: string): Promise<Buffer> {
return output.getContents();
}
async function formatBBCode(steam: Steam, puppetId: number, node: BBCodeNode, fromSteamId?: SteamID): Promise<ImageMessage | TextMessage> {
async function formatBBCode(steam: Steam, puppetId: number, node: BBCodeNode, message: IIncomingFriendMessage | IIncomingChatMessage): Promise<ImageMessage | TextMessage> {
if (node.tag === 'img') {
return {
kind: "image",
@ -72,7 +72,7 @@ async function formatBBCode(steam: Steam, puppetId: number, node: BBCodeNode, fr
} else if (node.tag === 'gameinvite') {
let game = await steam.getProduct(puppetId, node.attrs['appid']);
if (steam.getSteamId(puppetId) === fromSteamId) {
if (message['local_echo']) {
return {
kind: "text",
body: "",
@ -92,12 +92,11 @@ export async function exportMessageForSending(
steam: Steam,
puppetId: number,
message: IIncomingFriendMessage | IIncomingChatMessage,
fromSteamId?: SteamID
): Promise<(TextMessage | ImageMessage)[]> {
if (message.message_bbcode_parsed) {
let parts = await Promise.all(message.message_bbcode_parsed.map(node => {
if (isBBCode(node)) {
return formatBBCode(steam, puppetId, node, message['steamid_friend']);
return formatBBCode(steam, puppetId, node, message);
} else {
return {kind: "text", body: node} as TextMessage;
}