계속 진행하기 전에 채널 권한 (소유자) defaultrole을 확인하십시오.

Wilderscam Adser

내가 원하는 것은 소유자 가이 명령을 테스트 할 때마다 테스트라는 것입니다! 테스트라는 채널이 더 나아 가기 전에 @everyone에 대해서만보기가 있는지 먼저 확인하도록 업데이트하십시오. 어떻게 할 수 있습니까?

이것이 제가 지금 채널을 만드는 방법입니다.

 init: (msg) => {
    if (!msg.member.hasPermission('ADMINISTRATOR')) {
      return sendEmbed(msg, 'You need to have the administrator permission to do this.')
    }
    

    //checks if channel excist some=exist
      if (msg.guild.channels.some(r => r.name === "test")) {
        //sendEmbed(msg, 'you already have a channel called test.')
        } else {
        msg.guild.createChannel('test', {
  type: 'channel',
  permissionOverwrites: [
    {
      id: msg.guild.defaultRole.id, // @everyone role
      allow: ['READ_MESSAGES']
    }
    
  ]
});
sendEmbed(msg, '#test created.')
  }
    
    const channel = client.guilds.get(msg.guild.id).channels.find(r => r.name === "test");

    if (channel) {
      sql.run('UPDATE settings SET partner = ? WHERE guildid = ?', [channel.id, msg.guild.id])
      sendEmbed(msg, 'Success!')
    } else {
      sendEmbed(msg, 'please re-run this command to finalize')
    }
  },

그리고 여기에 테스트가 있습니다!

  update: (msg) => {

 i really dont know what to put here to check first the channel permissions before executing..
 
},

솔루션 감사합니다 MakeHellTal, 이것은 나를 위해 일했습니다.

const channel = client.guilds.get(msg.guild.id).channels.find(r => r.name === "test");
             let everyone = msg.guild.roles.find(r => r.name === '@everyone');
              let perms = channel.permissionsFor(everyone).serialize();
              if (perms.VIEW_CHANNEL && perms.READ_MESSAGE_HISTORY && !perms.SEND_MESSAGES) {
                  
              }else{ 
            console.log("not working")
                }
MakeHellTal

TextChannel # permissionsFor ()

    let everyone = message.guild.roles.cache.find(x => x.name === '@everyone');
    let perms = channel.permissionsFor(everyone).serialize();

이것은 @everyone을 찾고 객체에서 perms를 얻습니다.

이것이 물체가 보이는 방식입니다.

이것이 물체가 보이는 방식입니다. 그런 다음 ifs를 사용하여 각 파마를 확인하면 좋습니다!

채널이 모두에게 읽기 전용인지 확인하려면

if (perms.VIEW_CHANNEL && perms.READ_MESSAGE_HISTORY && !perms.SEND_MESSAGES) {
// do stuff here
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

계속하기 전에 범위의 값을 확인하십시오.

분류에서Dev

Laravel에서 if 문을 계속 확인하십시오.

분류에서Dev

strtotime으로 전달하기 전에 사용자가 입력 한 시간의 형식을 확인하십시오.

분류에서Dev

변수가 동일한 속성을 가진 Typescript의 사용자 정의 유형에 속하는지 확인하십시오.

분류에서Dev

오류 : '어떤'명령을 찾을 수 없습니다. 설치를 계속하기 전에 먼저 사용 가능한지 확인하십시오.

분류에서Dev

계속하기 전에 약속 함수에서 반환을 확인하십시오. 잘못된 접근?

분류에서Dev

제출하기 전에 양식에서 유사한 값을 확인하십시오.

분류에서Dev

다운로드하기 전에 유효한 / 활성 URL을 확인하십시오-Laravel 7

분류에서Dev

카테고리 채널의 권한을 얻고 음성 채널 discord.py로 설정하십시오.

분류에서Dev

요소가 동일한 부모에 속하는지 확인하십시오.

분류에서Dev

create () 전에 값이 유효한지 확인하십시오.

분류에서Dev

자신을 계산하지 않고 채널에서 pusherapp 회원 수를 얻으십시오.

분류에서Dev

로그인하고 계정 유형을 확인하십시오.

분류에서Dev

"npm 버전"을 실행하기 전에 사용자가 마스터에 있는지 확인하십시오.

분류에서Dev

send ()를 사용하기 전에 select ()로 소켓을 확인하십시오.

분류에서Dev

haskell 함수의 유도 단계에서 문자열의 공백을 확인하십시오.

분류에서Dev

계속하기 전에 canvas.toBlob ()을 기다리십시오.

분류에서Dev

계속하기 전에 NSNotification을 기다리십시오.

분류에서Dev

모든 텍스트 / 음성 채널에서 역할을 음소거하기 위해 discord 봇에 대한 권한 덮어 쓰기

분류에서Dev

폴더 소유권을 가져와 PowerShell의 도메인 계정에 전체 권한을 추가 하시겠습니까?

분류에서Dev

폴더 소유권을 가져와 PowerShell의 도메인 계정에 전체 권한을 추가 하시겠습니까?

분류에서Dev

한 열에 연속 된 두 줄을 모두 추가하고 전자와 인쇄로 나누십시오.

분류에서Dev

한 열에 연속 된 두 줄을 모두 추가하고 전자와 인쇄로 나누십시오.

분류에서Dev

치명적 : 원격 저장소에서 읽을 수 없습니다. 올바른 액세스 권한이 있는지 확인하십시오

분류에서Dev

계속하기 전에 요소 목록을 확인해야하는 텍스트 모험에 대한 If 문

분류에서Dev

사용자가 Django에 나열된 권한 중 하나를 가지고 있는지 확인하십시오.

분류에서Dev

jquery에서 각 listview 속성을 확인하십시오.

분류에서Dev

ANTLR4를 사용하는 Java에서 유효한 표현식, 인수 유형을 확인하십시오.

분류에서Dev

Django REST 프레임 워크의 상세보기에 대해 405를보고하기 전에 유효한 URL을 확인하십시오.

Related 관련 기사

  1. 1

    계속하기 전에 범위의 값을 확인하십시오.

  2. 2

    Laravel에서 if 문을 계속 확인하십시오.

  3. 3

    strtotime으로 전달하기 전에 사용자가 입력 한 시간의 형식을 확인하십시오.

  4. 4

    변수가 동일한 속성을 가진 Typescript의 사용자 정의 유형에 속하는지 확인하십시오.

  5. 5

    오류 : '어떤'명령을 찾을 수 없습니다. 설치를 계속하기 전에 먼저 사용 가능한지 확인하십시오.

  6. 6

    계속하기 전에 약속 함수에서 반환을 확인하십시오. 잘못된 접근?

  7. 7

    제출하기 전에 양식에서 유사한 값을 확인하십시오.

  8. 8

    다운로드하기 전에 유효한 / 활성 URL을 확인하십시오-Laravel 7

  9. 9

    카테고리 채널의 권한을 얻고 음성 채널 discord.py로 설정하십시오.

  10. 10

    요소가 동일한 부모에 속하는지 확인하십시오.

  11. 11

    create () 전에 값이 유효한지 확인하십시오.

  12. 12

    자신을 계산하지 않고 채널에서 pusherapp 회원 수를 얻으십시오.

  13. 13

    로그인하고 계정 유형을 확인하십시오.

  14. 14

    "npm 버전"을 실행하기 전에 사용자가 마스터에 있는지 확인하십시오.

  15. 15

    send ()를 사용하기 전에 select ()로 소켓을 확인하십시오.

  16. 16

    haskell 함수의 유도 단계에서 문자열의 공백을 확인하십시오.

  17. 17

    계속하기 전에 canvas.toBlob ()을 기다리십시오.

  18. 18

    계속하기 전에 NSNotification을 기다리십시오.

  19. 19

    모든 텍스트 / 음성 채널에서 역할을 음소거하기 위해 discord 봇에 대한 권한 덮어 쓰기

  20. 20

    폴더 소유권을 가져와 PowerShell의 도메인 계정에 전체 권한을 추가 하시겠습니까?

  21. 21

    폴더 소유권을 가져와 PowerShell의 도메인 계정에 전체 권한을 추가 하시겠습니까?

  22. 22

    한 열에 연속 된 두 줄을 모두 추가하고 전자와 인쇄로 나누십시오.

  23. 23

    한 열에 연속 된 두 줄을 모두 추가하고 전자와 인쇄로 나누십시오.

  24. 24

    치명적 : 원격 저장소에서 읽을 수 없습니다. 올바른 액세스 권한이 있는지 확인하십시오

  25. 25

    계속하기 전에 요소 목록을 확인해야하는 텍스트 모험에 대한 If 문

  26. 26

    사용자가 Django에 나열된 권한 중 하나를 가지고 있는지 확인하십시오.

  27. 27

    jquery에서 각 listview 속성을 확인하십시오.

  28. 28

    ANTLR4를 사용하는 Java에서 유효한 표현식, 인수 유형을 확인하십시오.

  29. 29

    Django REST 프레임 워크의 상세보기에 대해 405를보고하기 전에 유효한 URL을 확인하십시오.

뜨겁다태그

보관