아리스봇/삽질로그
-
TypeError: Cannot read properties of undefined (reading '_add')아리스봇/삽질로그 2022. 5. 28. 13:35
※ 맨 밑에 세 줄 요약 있음. TypeError: Cannot read properties of undefined (reading '_add') at InteractionWebhook.fetchMessage (/home/dunamis/arisbot/node_modules/discord.js/src/structures/Webhook.js:305:70) at runMicrotasks () at processTicksAndRejections (node:internal/process/task_queues:96:5) at async Object.execute (/home/dunamis/arisbot/src/commands/slash/blackjack.js:352:9) at async Client. (/home/..
-
0430 삽질로그아리스봇/삽질로그 2022. 4. 30. 00:22
https://duna.me/348 for / indexOf 흔히 배열 내의 특정 값을 찾을 때 for 반복문이나 indexOf를 씁니다. 저는 Math.random()으로 배열에서 값을 랜덤하게 뽑아줄 때 주로 씁니다. 예를 들어서 아리스봇의 블랙잭 기능에서는 실제로 위와 duna.me 이거 반영해서 코드 수정함 근데 삽질한 만큼 빨라졌는지는 잘 모르겠음 반복문 돌리면 루프 3회 이상에서 렉 걸리던 게, 4회 이상에서 렉 걸린다는 등의 차이는 있음 그리고 Math.floor(Math.random() * array.length) 에 -1 안 된 코드가 있어서 대상이 없으니 아주 드물게 Unknown Message 에러를 뱉었는데, 수정함
-
for / indexOf아리스봇/삽질로그 2022. 4. 29. 19:48
흔히 배열 내의 특정 값을 찾을 때 for 반복문이나 indexOf를 씁니다. 저는 Math.random()으로 배열에서 값을 랜덤하게 뽑아줄 때 주로 씁니다. 예를 들어서 아리스봇의 블랙잭 기능에서는 실제로 위와 같이 52개의 카드가 들어있는 덱을 사용해서, selected = deck[Math.floor(Math.random() * (deck.length - 1))] for (let i = 0; i < deck.length; i++) { if (deck[i] === selected) { item.push(deck[i]); deck.splice(i, 1) } } 이런 식으로 카드를 뽑아냅니다. 따라서 덱의 마지막 카드가 집히면 52번의 루프를 돌아야 하는 만큼 조금이라도 효율적인 방법을 사용해야 하는 ..
-
twit 에러 핸들링아리스봇/삽질로그 2022. 4. 13. 11:01
node:events:504 throw er; // Unhandled 'error' event ^ Error: aborted at connResetException (node:internal/errors:691:14) at TLSSocket.socketCloseListener (node:_http_client:402:19) at TLSSocket.emit (node:events:538:35) at node:net:687:12 at TCP.done (node:_tls_wrap:580:7) Emitted 'error' event on StreamingAPIConnection instance at: at IncomingMessage. (/home/*******/*******/node_modules/twit/l..
-
0408 삽질로그아리스봇/삽질로그 2022. 4. 8. 23:54
트위터 API 자체적으로 처리, 테스트 중. 테스트가 끝나면 내일 저녁 즈음에 코드 적용 예정. 해당 코드가 적용되면 몰루트윗을 1분 이내로 받아옵니다. 만들면서 느낀 건데, 트위터 API는 쓰레기라는 걸 알았다. api를 통해 livestream으로 위와 같은 특정 필터값에 대한 twit를 실시간으로 받아올 수 있는데, 문제가 있다. follow가 문제다. 위 내용을 간단하게 번역하면 follow 필터는 특정 이용자의 트윗 활동에 대해서 아래와 같은 값을 가져온다. 1. 그 이용자가 올린 트윗 2. 그 이용자가 리트윗한 트윗 3. 그 이용자가 올린 답글 4. 그 이용자의 트윗에 대한 모든 리트윗 (5. 트위터를 안 해서 뭔지 잘 모르겠음) 문제는 4번이다. 가령 특정 게임의 공식 계정에 대해서 해당 A..