museofficial / muse

🎧 a self-hosted midwestern Discord music bot that doesn't suck
MIT License
882 stars 231 forks source link

Getting an error when launching #602

Closed DoomRanger closed 2 years ago

DoomRanger commented 2 years ago

} ] } } file:///home/container/muse/node_modules/execa/lib/error.js:59 error = new Error(message); ^ Error: Command failed with exit code 1: esmo src/scripts/migrate-and-start.ts at makeError (file:///home/container/muse/node_modules/execa/lib/error.js:59:11) at handlePromise (file:///home/container/muse/node_modules/execa/index.js:119:26) at processTicksAndRejections (node:internal/process/task_queues:96:5) at async file:///home/container/muse/src/scripts/run-with-database-url.ts:5:3 { shortMessage: 'Command failed with exit code 1: esmo src/scripts/migrate-and-start.ts', command: 'esmo src/scripts/migrate-and-start.ts', escapedCommand: 'esmo "src/scripts/migrate-and-start.ts"', exitCode: 1, signal: undefined, signalDescription: undefined, stdout: undefined, stderr: undefined, failed: true, timedOut: false, isCanceled: false, killed: false }

DoomRanger commented 2 years ago

Not sure what to make of it, apologies

hinteor commented 2 years ago

I have a similar problem

yarn run v1.22.15

$ npm run env:set-database-url -- esmo src/scripts/migrate-and-start.ts

> muse@1.7.0 env:set-database-url

> esmo src/scripts/run-with-database-url.ts "esmo" "src/scripts/migrate-and-start.ts"

(node:52) ExperimentalWarning: --experimental-loader is an experimental feature. This feature could change at any time

(Use `node --trace-warnings ...` to show where the warning was created)

(node:52) DeprecationWarning: Obsolete loader hook(s) supplied and will be ignored: getFormat, transformSource

(node:87) ExperimentalWarning: --experimental-loader is an experimental feature. This feature could change at any time

(Use `node --trace-warnings ...` to show where the warning was created)

(node:87) DeprecationWarning: Obsolete loader hook(s) supplied and will be ignored: getFormat, transformSource

========================================

========================================

================= muse =================

========================================

=========== Made with 🎶 by ============

==== https://github.com/codetheweb =====

========================================

========================================

Running version 1.7.0 built on Invalid Date (commit unknown)

🔧 Need help? https://github.com/codetheweb/muse/discussions/new

🐛 Bug? https://github.com/codetheweb/muse/issues/new

✨ New feature? https://github.com/codetheweb/muse/issues/new

☕ Discussion? https://github.com/codetheweb/muse/discussions/new

💰 Help me? https://www.paypal.me/codetheweb https://github.com/sponsors/codetheweb

- Applying database migrations...

✔ Database migrations applied.

- 📡 connecting to Discord...

file:///usr/app/src/utils/update-permissions-for-guild.ts:10

    throw new Error("could not find settings for guild");

          ^

Error: could not find settings for guild

    at updatePermissionsForGuild (file:///usr/app/src/utils/update-permissions-for-guild.ts:10:11)

    at async Promise.all (index 0)

    at async Client.<anonymous> (file:///usr/app/src/bot.ts:118:7)

file:///usr/app/node_modules/execa/lib/error.js:59

        error = new Error(message);

                ^

Error: Command failed with exit code 1: esmo src/scripts/migrate-and-start.ts

    at makeError (file:///usr/app/node_modules/execa/lib/error.js:59:11)

    at handlePromise (file:///usr/app/node_modules/execa/index.js:119:26)

    at processTicksAndRejections (node:internal/process/task_queues:96:5)

    at async file:///usr/app/src/scripts/run-with-database-url.ts:5:3 {

  shortMessage: 'Command failed with exit code 1: esmo src/scripts/migrate-and-start.ts',

  command: 'esmo src/scripts/migrate-and-start.ts',

  escapedCommand: 'esmo "src/scripts/migrate-and-start.ts"',

  exitCode: 1,

  signal: undefined,

  signalDescription: undefined,

  stdout: undefined,

  stderr: undefined,

  failed: true,

  timedOut: false,

  isCanceled: false,

  killed: false

}

error Command failed with exit code 1.

info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

yarn run v1.22.15

$ npm run env:set-database-url -- esmo src/scripts/migrate-and-start.ts

> muse@1.7.0 env:set-database-url

> esmo src/scripts/run-with-database-url.ts "esmo" "src/scripts/migrate-and-start.ts"

(node:52) ExperimentalWarning: --experimental-loader is an experimental feature. This feature could change at any time

(Use `node --trace-warnings ...` to show where the warning was created)

(node:52) DeprecationWarning: Obsolete loader hook(s) supplied and will be ignored: getFormat, transformSource

(node:87) ExperimentalWarning: --experimental-loader is an experimental feature. This feature could change at any time

(Use `node --trace-warnings ...` to show where the warning was created)

(node:87) DeprecationWarning: Obsolete loader hook(s) supplied and will be ignored: getFormat, transformSource
codetheweb commented 2 years ago

@DoomRanger are there any additional logs? What you posted unfortunately says very little.

@hinteor are you upgrading from an earlier version or setting up Muse for the first time?

hinteor commented 2 years ago

@codetheweb this is the first install of muse , using docker compose. before that there was an installation on another machine with the same compose file (I'm moving the bot from my laptop to a small dedicated server), during this installation the bot was disabled on my other machine.

DoomRanger commented 2 years ago

D[50001]: Missing Access at C.runRequest (file:///home/container/muse/node_modules/@discordjs/rest/dist/index.mjs:7:557) at processTicksAndRejections (node:internal/process/task_queues:96:5) at async C.queueRequest (file:///home/container/muse/node_modules/@discordjs/rest/dist/index.mjs:5:3022) at async file:///home/container/muse/src/bot.ts:112:13 at async Promise.all (index 1) at async Client. (file:///home/container/muse/src/bot.ts:110:9) { rawError: { message: 'Missing Access', code: 50001 }, code: 50001, status: 403, method: 'put', url: 'https://discord.com/api/v9/applications/808662658462777414/guilds/697383260749168720/commands', requestBody: { files: undefined, json: [ { name: 'clear', description: 'clears all songs in queue except currently playing song', options: [], default_permission: undefined }, { name: 'config', description: 'configure bot settings', options: [ { type: 1, name: 'set-playlist-limit', description: 'set the maximum number of tracks that can be added from a playlist', options: [Array] }, { type: 1, name: 'set-role', description: 'set the role that is allowed to use the bot', options: [Array] }, { type: 1, name: 'set-wait-after-queue-empties', description: 'set the time to wait before leaving the voice channel when queue empties', options: [Array] }, { type: 1, name: 'set-leave-if-no-listeners', description: 'set whether to leave when all other participants leave', options: [Array] }, { type: 1, name: 'get', description: 'show all settings', options: [] } ], default_permission: undefined }, { name: 'disconnect', description: 'pause and disconnect Muse', options: [], default_permission: undefined }, { name: 'favorites', description: 'add a song to your favorites', options: [ { type: 1, name: 'use', description: 'use a favorite', options: [Array] }, { type: 1, name: 'list', description: 'list all favorites', options: [] }, { type: 1, name: 'create', description: 'create a new favorite', options: [Array] }, { type: 1, name: 'remove', description: 'remove a favorite', options: [Array] } ], default_permission: undefined }, { name: 'fseek', description: 'seek forward in the current song', options: [ { choices: undefined, autocomplete: undefined, type: 3, name: 'time', description: 'an interval expression or number of seconds (1m, 30s, 100)', required: true } ], default_permission: undefined }, { name: 'move', description: 'move songs within the queue', options: [ { max_value: undefined, min_value: undefined, choices: undefined, autocomplete: undefined, type: 4, name: 'from', description: 'position of the song to move', required: true }, { max_value: undefined, min_value: undefined, choices: undefined, autocomplete: undefined, type: 4, name: 'to', description: 'position to move the song to', required: true } ], default_permission: undefined }, { name: 'now-playing', description: 'shows the currently played song', options: [], default_permission: undefined }, { name: 'pause', description: 'pause the current song', options: [], default_permission: undefined }, { name: 'play', description: 'play a song', options: [ { choices: undefined, autocomplete: true, type: 3, name: 'query', description: 'YouTube URL, Spotify URL, or search query', required: true }, { name: 'immediate', description: 'add track to the front of the queue', required: false, type: 5 }, { name: 'shuffle', description: "shuffle the input if you're adding multiple tracks", required: false, type: 5 }, { name: 'split', description: 'if a track has chapters, split it', required: false, type: 5 } ], default_permission: undefined }, { name: 'queue', description: 'show the current queue', options: [ { max_value: undefined, min_value: undefined, choices: undefined, autocomplete: undefined, type: 4, name: 'page', description: 'page of queue to show [default: 1]', required: false } ], default_permission: undefined }, { name: 'remove', description: 'remove songs from the queue', options: [ { max_value: undefined, min_value: undefined, choices: undefined, autocomplete: undefined, type: 4, name: 'position', description: 'position of the song to remove [default: 1]', required: false }, { max_value: undefined, min_value: undefined, choices: undefined, autocomplete: undefined, type: 4, name: 'range', description: 'number of songs to remove [default: 1]', required: false } ], default_permission: undefined }, { name: 'resume', description: 'resume playback', options: [], default_permission: undefined }, { name: 'seek', description: 'seek to a position from beginning of song', options: [ { choices: undefined, autocomplete: undefined, type: 3, name: 'time', description: 'an interval expression or number of seconds (1m, 30s, 100)', required: true } ], default_permission: undefined }, { name: 'shuffle', description: 'shuffle the current queue', options: [], default_permission: undefined }, { name: 'skip', description: 'skip the next songs', options: [ { max_value: undefined, min_value: undefined, choices: undefined, autocomplete: undefined, type: 4, name: 'number', description: 'number of songs to skip [default: 1]', required: false } ], default_permission: undefined }, { name: 'stop', description: 'stop playback, disconnect, and clear all songs in the queue', options: [], default_permission: undefined }, { name: 'unskip', description: 'go back in the queue by one song', options: [], default_permission: undefined } ] } } file:///home/container/muse/node_modules/execa/lib/error.js:59 error = new Error(message); ^

Error: Command failed with exit code 1: esmo src/scripts/migrate-and-start.ts at makeError (file:///home/container/muse/node_modules/execa/lib/error.js:59:11) at handlePromise (file:///home/container/muse/node_modules/execa/index.js:119:26) at processTicksAndRejections (node:internal/process/task_queues:96:5) at async file:///home/container/muse/src/scripts/run-with-database-url.ts:5:3 { shortMessage: 'Command failed with exit code 1: esmo src/scripts/migrate-and-start.ts', command: 'esmo src/scripts/migrate-and-start.ts', escapedCommand: 'esmo "src/scripts/migrate-and-start.ts"', exitCode: 1, signal: undefined, signalDescription: undefined, stdout: undefined, stderr: undefined, failed: true, timedOut: false, isCanceled: false, killed: false }

codetheweb commented 2 years ago

@DoomRanger it looks like Muse doesn't have permissions to update commands in your guild. Try kicking Muse and re-invite.

@hinteor your issue is unrelated. Muse is saying that it's in a guild that it doesn't have a local record for, which makes sense if you moved machines and didn't copy the database. Copy the database over to the new machine or kick Muse and re-invite. Please open a new issue if you need further clarification or help.

DoomRanger commented 2 years ago
> muse@1.7.0 start
> npm run env:set-database-url -- esmo src/scripts/migrate-and-start.ts
> muse@1.7.0 env:set-database-url
> esmo src/scripts/run-with-database-url.ts "esmo" "src/scripts/migrate-and-start.ts"
(node:69) ExperimentalWarning: --experimental-loader is an experimental feature. This feature could change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
(node:69) DeprecationWarning: Obsolete loader hook(s) supplied and will be ignored: getFormat, transformSource
(node:112) ExperimentalWarning: --experimental-loader is an experimental feature. This feature could change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
(node:112) DeprecationWarning: Obsolete loader hook(s) supplied and will be ignored: getFormat, transformSource
========================================
========================================
================= muse =================
========================================
=========== Made with 🎶 by ============
==== https://github.com/codetheweb =====
========================================
========================================
Running version 1.7.0 built on unknown date (commit unknown)
🔧 Need help? https://github.com/codetheweb/muse/discussions/new
🐛 Bug? https://github.com/codetheweb/muse/issues/new
✨ New feature? https://github.com/codetheweb/muse/issues/new
☕ Discussion? https://github.com/codetheweb/muse/discussions/new
💰 Help me? https://www.paypal.me/codetheweb https://github.com/sponsors/codetheweb
⠇ Applying database migrations...
✔ Database migrations applied.
⠼ 📡 updating commands in all guilds...file:///home/container/muse/node_modules/@discordjs/rest/dist/index.mjs:7
`)),q){let S=!u(this,c);S&&(g(this,c,new se),u(this,c).wait(),u(this,w).shift()),u(this,b)?.resolve(),g(this,b,null),await W(q,void 0,{ref:!1});let O,ie=new Promise(re=>O=re);g(this,b,{promise:ie,resolve:O}),S&&(await u(this,w).wait(),g(this,k,!0))}return this.runRequest(e,t,s,i,r)}else if(o.status>=500&&o.status<600){if(r!==this.manager.options.retries)return this.runRequest(e,t,s,i,++r);throw new B(o.statusText,o.constructor.name,o.status,a,t,i)}else{if(o.status>=400&&o.status<500){o.status===401&&this.manager.setToken(null);let p=await M(o);throw new D(p,"code"in p?p.code:p.error,o.status,a,t,i)}return null}}};w=new WeakMap,c=new WeakMap,b=new WeakMap,k=new WeakMap;var K=(r=>(r.Delete="delete",r.Get="get",r.Patch="patch",r.Post="post",r.Put="put",r))(K||{}),I,G=class extends ge{constructor(e){super();l(this,"globalRemaining");l(this,"globalDelay",null);l(this,"globalReset",-1);l(this,"hashes",new U);l(this,"handlers",new U);L(this,I,null);l(this,"hashTimer");l(this,"handlerTimer");l(this,"agent",null);l(this,"options");this.options={...x,...e},this.options.offset=Math.max(0,this.options.offset),this.globalRemaining=this.options.globalRequestsPerSecond,this.setupSweepers()}setupSweepers(){let e=t=>{if(t>144e5)throw new Error("Cannot set an interval greater than 4 hours")};this.options.hashSweepInterval!==0&&this.options.hashSweepInterval!==1/0&&(e(this.options.hashSweepInterval),this.hashTimer=setInterval(()=>{let t=new U,s=Date.now();this.hashes.sweep((i,r)=>{if(i.lastAccess===-1)return!1;let a=Math.floor(s-i.lastAccess)>this.options.hashLifetime;return a&&t.set(r,i),this.emit("restDebug",`Hash ${i.value} for ${r} swept due to lifetime being exceeded`),a}),this.emit("hashSweep",t)},this.options.hashSweepInterval).unref()),this.options.handlerSweepInterval!==0&&this.options.handlerSweepInterval!==1/0&&(e(this.options.handlerSweepInterval),this.handlerTimer=setInterval(()=>{let t=new U;this.handlers.sweep((s,i)=>{let{inactive:r}=s;return r&&t.set(i,s),this.emit("restDebug",`Handler ${s.id} for ${i} swept due to being inactive`),r}),this.emit("handlerSweep",t)},this.options.handlerSweepInterval).unref())}setToken(e){return g(this,I,e),this}async queueRequest(e){let t=G.generateRouteData(e.fullRoute,e.method),s=this.hashes.get(`${e.method}:${t.bucketRoute}`)??{value:`Global(${e.method}:${t.bucketRoute})`,lastAccess:-1},i=this.handlers.get(`${s.value}:${t.majorParameter}`)??this.createHandler(s.value,t.majorParameter),{url:r,fetchOptions:a}=this.resolveRequest(e);return i.queueRequest(t,r,a,{body:e.body,files:e.files})}createHandler(e,t){let s=new C(this,e,t);return this.handlers.set(s.id,s),s}resolveRequest(e){let{options:t}=this;this.agent??=t.api.startsWith("https")?new fe({...t.agent,keepAlive:!0}):new Re({...t.agent,keepAlive:!0});let s="";if(e.query){let o=e.query.toString();o!==""&&(s=`?${o}`)}let i={...this.options.headers,"User-Agent":`${Y} ${t.userAgentAppendix}`.trim()};if(e.auth!==!1){if(!u(this,I))throw new Error("Expected token to be set for this request, but none was present");i.Authorization=`${e.authPrefix??"Bot"} ${u(this,I)}`}e.reason?.length&&(i["X-Audit-Log-Reason"]=encodeURIComponent(e.reason));let r=`${t.api}${e.versioned===!1?"":`/v${t.version}`}${e.fullRoute}${s}`,a,m={};if(e.files?.length){let o=new he;for(let[d,y]of e.files.entries())o.append(y.key??`files[${d}]`,y.fileData,y.fileName);if(e.body!=null)if(e.appendToFormData)for(let[d,y]of Object.entries(e.body))o.append(d,y);else o.append("payload_json",JSON.stringify(e.body));a=o,m=o.getHeaders()}else e.body!=null&&(e.passThroughBody?a=e.body:(a=JSON.stringify(e.body),m={"Content-Type":"application/json"}));let E={agent:this.agent,body:a,headers:{...e.headers??{},...m,...i},method:e.method};return{url:r,fetchOptions:E}}clearHashSweeper(){clearInterval(this.hashTimer)}clearHandlerSweeper(){clearInterval(this.handlerTimer)}static generateRouteData(e,t){let i=/^\/(?:channels|guilds|webhooks)\/(\d{16,19})/.exec(e)?.[1]??"global",r=e.replace(/\d{16,19}/g,":id").replace(/\/reactions\/(.*)/,"/reactions/:reaction"),a="";if(t==="delete"&&r==="/channels/:id/messages/:id"){let m=/\d{16,19}$/.exec(e)[0],E=de.deconstruct(m);Date.now()-Number(E.timestamp)>1e3*60*60*24*14&&(a+="/Delete Old Message")}return{majorParameter:i,bucketRoute:r+a,original:e}}},F=G;I=new WeakMap;import{EventEmitter as be}from"node:events";var ye=class extends be{constructor(e={}){super();l(this,"cdn");l(this,"requestManager");this.cdn=new N(e.cdn??x.cdn),this.requestManager=new F(e).on("restDebug",this.emit.bind(this,"restDebug")).on("rateLimited",this.emit.bind(this,"rateLimited")).on("invalidRequestWarning",this.emit.bind(this,"invalidRequestWarning")).on("hashSweep",this.emit.bind(this,"hashSweep")),this.on("newListener",(t,s)=>{(t==="request"||t==="response")&&this.requestManager.on(t,s)}),this.on("removeListener",(t,s)=>{(t==="request"||t==="response")&&this.requestManager.off(t,s)})}setToken(e){return this.requestManager.setToken(e),this}get(e,t={}){return this.request({...t,fullRoute:e,method:"get"})}delete(e,t={}){return this.request({...t,fullRoute:e,method:"delete"})}post(e,t={}){return this.request({...t,fullRoute:e,method:"post"})}put(e,t={}){return this.request({...t,fullRoute:e,method:"put"})}patch(e,t={}){return this.request({...t,fullRoute:e,method:"patch"})}request(e){return this.requestManager.queueRequest(e)}};export{ee as ALLOWED_EXTENSIONS,_ as ALLOWED_SIZES,te as ALLOWED_STICKER_EXTENSIONS,N as CDN,x as DefaultRestOptions,Y as DefaultUserAgent,D as DiscordAPIError,B as HTTPError,ye as REST,j as RESTEvents,A as RateLimitError,F as RequestManager,K as RequestMethod};
^
D[50001]: Missing Access
at C.runRequest (file:///home/container/muse/node_modules/@discordjs/rest/dist/index.mjs:7:557)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async C.queueRequest (file:///home/container/muse/node_modules/@discordjs/rest/dist/index.mjs:5:3022)
at async file:///home/container/muse/src/bot.ts:112:13
at async Promise.all (index 0)
at async Client.<anonymous> (file:///home/container/muse/src/bot.ts:110:9) {
rawError: { message: 'Missing Access', code: 50001 },
code: 50001,
status: 403,
method: 'put',
url: 'https://discord.com/api/v9/applications/956866559660408863/guilds/446609308554362891/commands',
requestBody: {
files: undefined,
json: [
{
name: 'clear',
description: 'clears all songs in queue except currently playing song',
options: [],
default_permission: undefined
},
{
name: 'config',
description: 'configure bot settings',
options: [
{
type: 1,
name: 'set-playlist-limit',
description: 'set the maximum number of tracks that can be added from a playlist',
options: [Array]
},
{
type: 1,
name: 'set-role',
description: 'set the role that is allowed to use the bot',
options: [Array]
},
{
type: 1,
name: 'set-wait-after-queue-empties',
description: 'set the time to wait before leaving the voice channel when queue empties',
options: [Array]
},
{
type: 1,
name: 'set-leave-if-no-listeners',
description: 'set whether to leave when all other participants leave',
options: [Array]
},
{
type: 1,
name: 'get',
description: 'show all settings',
options: []
}
],
default_permission: undefined
},
{
name: 'disconnect',
description: 'pause and disconnect Muse',
options: [],
default_permission: undefined
},
{
name: 'favorites',
description: 'add a song to your favorites',
options: [
{
type: 1,
name: 'use',
description: 'use a favorite',
options: [Array]
},
{
type: 1,
name: 'list',
description: 'list all favorites',
options: []
},
{
type: 1,
name: 'create',
description: 'create a new favorite',
options: [Array]
},
{
type: 1,
name: 'remove',
description: 'remove a favorite',
options: [Array]
}
],
default_permission: undefined
},
{
name: 'fseek',
description: 'seek forward in the current song',
options: [
{
choices: undefined,
autocomplete: undefined,
type: 3,
name: 'time',
description: 'an interval expression or number of seconds (1m, 30s, 100)',
required: true
}
],
default_permission: undefined
},
{
name: 'move',
description: 'move songs within the queue',
options: [
{
max_value: undefined,
min_value: undefined,
choices: undefined,
autocomplete: undefined,
type: 4,
name: 'from',
description: 'position of the song to move',
required: true
},
{
max_value: undefined,
min_value: undefined,
choices: undefined,
autocomplete: undefined,
type: 4,
name: 'to',
description: 'position to move the song to',
required: true
}
],
default_permission: undefined
},
{
name: 'now-playing',
description: 'shows the currently played song',
options: [],
default_permission: undefined
},
{
name: 'pause',
description: 'pause the current song',
options: [],
default_permission: undefined
},
{
name: 'play',
description: 'play a song',
options: [
{
choices: undefined,
autocomplete: true,
type: 3,
name: 'query',
description: 'YouTube URL, Spotify URL, or search query',
required: true
},
{
name: 'immediate',
description: 'add track to the front of the queue',
required: false,
type: 5
},
{
name: 'shuffle',
description: "shuffle the input if you're adding multiple tracks",
required: false,
type: 5
},
{
name: 'split',
description: 'if a track has chapters, split it',
required: false,
type: 5
}
],
default_permission: undefined
},
{
name: 'queue',
description: 'show the current queue',
options: [
{
max_value: undefined,
min_value: undefined,
choices: undefined,
autocomplete: undefined,
type: 4,
name: 'page',
description: 'page of queue to show [default: 1]',
required: false
}
],
default_permission: undefined
},
{
name: 'remove',
description: 'remove songs from the queue',
options: [
{
max_value: undefined,
min_value: undefined,
choices: undefined,
autocomplete: undefined,
type: 4,
name: 'position',
description: 'position of the song to remove [default: 1]',
required: false
},
{
max_value: undefined,
min_value: undefined,
choices: undefined,
autocomplete: undefined,
type: 4,
name: 'range',
description: 'number of songs to remove [default: 1]',
required: false
}
],
default_permission: undefined
},
{
name: 'resume',
description: 'resume playback',
options: [],
default_permission: undefined
},
{
name: 'seek',
description: 'seek to a position from beginning of song',
options: [
{
choices: undefined,
autocomplete: undefined,
type: 3,
name: 'time',
description: 'an interval expression or number of seconds (1m, 30s, 100)',
required: true
}
],
default_permission: undefined
},
{
name: 'shuffle',
description: 'shuffle the current queue',
options: [],
default_permission: undefined
},
{
name: 'skip',
description: 'skip the next songs',
options: [
{
max_value: undefined,
min_value: undefined,
choices: undefined,
autocomplete: undefined,
type: 4,
name: 'number',
description: 'number of songs to skip [default: 1]',
required: false
}
],
default_permission: undefined
},
{
name: 'stop',
description: 'stop playback, disconnect, and clear all songs in the queue',
options: [],
default_permission: undefined
},
{
name: 'unskip',
description: 'go back in the queue by one song',
options: [],
default_permission: undefined
}
]
}
}
file:///home/container/muse/node_modules/execa/lib/error.js:59
error = new Error(message);
^
Error: Command failed with exit code 1: esmo src/scripts/migrate-and-start.ts
at makeError (file:///home/container/muse/node_modules/execa/lib/error.js:59:11)
at handlePromise (file:///home/container/muse/node_modules/execa/index.js:119:26)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async file:///home/container/muse/src/scripts/run-with-database-url.ts:5:3 {
shortMessage: 'Command failed with exit code 1: esmo src/scripts/migrate-and-start.ts',
command: 'esmo src/scripts/migrate-and-start.ts',
escapedCommand: 'esmo "src/scripts/migrate-and-start.ts"',
exitCode: 1,
signal: undefined,
signalDescription: undefined,
stdout: undefined,
stderr: undefined,
failed: true,
timedOut: false,
isCanceled: false,
killed: false
}
DoomRanger commented 2 years ago

Still getting an error @codetheweb I've even gone and create a new application and bot after which I updated the token in the .env

codetheweb commented 2 years ago

Sorry, not sure what might be the issue. The error still says that Muse doesn't have permission to update commands.

Maybe try with a new server / guild?

DoomRanger commented 2 years ago

Sorry, not sure what might be the issue. The error still says that Muse doesn't have permission to update commands.

Maybe try with a new server / guild?

@codetheweb Is the permission guild related or host-related because I am using a hosting provider so maybe the container doesn't allow Muse to do its thing and hence the errors?

Once I've installed the bot, the only thing I need to do is install ffmpeg and update the .env file right?

DoomRanger commented 2 years ago

@codetheweb I fixed it, didn't know I had to use the link provided, I manually generated my own invite link

DoomRanger commented 2 years ago

I was wondering which file do I go to to make some configuration changes like prefix etc? Also wanted to check if I can alter the volume, the bot earraped us upon using it the first time

codetheweb commented 2 years ago

To change the config, you'll have to set environment variables. You can either use a .env file if you're running directly from the repo, or pass them in as arguments if you're running through Docker. See the README for more details.

Also wanted to check if I can alter the volume, the bot earraped us upon using it the first time

Sorry, not sure what you mean by this.