Fico feliz em convidá-lo para minha instância! Não sei se seu plugin registra algo em algum lugar, mas posso enviar esses registros se ajudar.
EDIT: Ao autorizar o bot, quais permissões você atribuiu a ele?
Fico feliz em convidá-lo para minha instância! Não sei se seu plugin registra algo em algum lugar, mas posso enviar esses registros se ajudar.
EDIT: Ao autorizar o bot, quais permissões você atribuiu a ele?
O bot precisa de permissão de Administrador:
Você precisa conceder as permissões pelo navegador, conforme descrito aqui (e no OP):
algo como: https://discord.com/api/oauth2/authorize?client_id=SEU_CLIENT_ID&scope=bot&permissions=8
Seu problema quase certamente está no lado do Discord, já que o servidor do bot do Discourse parece estar em execução (você demonstrou isso com o comando Ping!), portanto, os logs do Discourse serão irrelevantes.
Acabei de testar novamente este plugin na versão mais recente do Discourse e tudo está funcionando (atualizei alguns gems para uma versão mais moderna para garantir compatibilidade com outros plugins, mas isso não tem relação com o seu problema).
Sim, então eu reconvidei algumas vezes sem nenhuma mudança. Ele é um administrador, tem a permissão de bot. Sou eu quem convida o bot para o Discord, sou o dono do servidor. Ele simplesmente não me reconhece e retorna: “Você não tem permissão para executar o comando discsync!”
Estou completamente confuso, infelizmente!
Uhu! Parece que consegui estragar o ID do Grupo de Admin de alguma forma! Parece que minha tarefa de copiar e colar pode ter perdido um número…
Então, como uma pergunta de acompanhamento, agora estou tentando atribuir cores no Discord às pessoas com base no seu nível de confiança no Discourse. Para que os níveis de confiança sejam copiados, acho que o comando deve ser:
!discsync false, 0, true
Isso está correto? Para mim, ele retorna o seguinte:
EDIT: O mesmo é retornado se eu executar o comando sem vírgulas, ou seja:
!discsync false 0 true
Aumente seu Nível de Visibilidade. Os Grupos automatizados padrão têm Visibilidade 1 (“Usuários logados”), então, se esse valor for zero, você excluirá os Grupos automatizados padrão:
Zero incluirá apenas os Grupos visíveis para todos, incluindo anônimos.
Isso me deixa em ordem. Muito obrigado — é muito apreciado.
Posso ajudar, em troca, escrevendo parte do que aprendi no seu guia? Se não, sem problemas; estou apenas tentando retribuir o seu apoio.
Isso é muito gentil. Ficaria encantado em ter você editando. Você já deveria conseguir? É uma wiki.
Você também me ajudou a refrescar minha memória ![]()
Eu não preciso muito de sincronização de funções, mas seria legal ter um bot do Discord que poste em canais específicos do servidor quando novos tópicos forem criados no fórum. Existe algum plugin que faça isso?
Sim, esse plugin provavelmente não é a ferramenta adequada para isso. O bot é alimentado pelo seu Discourse e pode acessar seus dados do Discourse (quando permitido e solicitado por comando), mas roda em uma thread separada, portanto não será sinalizado por eventos do Discourse.
Acho que talvez seja viável estendê-lo em algum momento para, por exemplo, monitorar a criação de novos tópicos dentro de uma categoria específica. Não é o melhor uso dessa arquitetura, mas PRs são bem-vindos.
Parece que você precisa investigar?:
Ou
Sim, investiguei ambas as opções. A primeira opção, o Zapier, não é gratuita. Você pode criar até 5 Zaps gratuitos, e eles são de etapa única. Isso é exatamente o que foi dito naquele tópico, então a alternativa proposta foi o discourse-chat-integration, que supostamente é um plugin oficial. Acho que essa é a maneira mais próxima de fazer o que eu quero fazer.
A última opção parece ser um plugin de feed RSS:
Atualização: Depois de aprender a configurar corretamente as regras e configurar os webhooks, a integração de chat faz exatamente o que eu queria! Obrigado.
Olá @merefield,
obrigado novamente por entrar em contato com esse plugin!
Instalei tudo conforme descrito na documentação. Uso o comando !discsync e tudo parece estar correto para mim. ![]()
No entanto, para alguns usuários (não para todos), recebo o seguinte erro para todos os grupos deles:
Discourse Sync: [11/31] Adicionando membro 'MaxMustermann' ao grupo 'Member'
Discourse Sync: Parece que não tenho permissão para fazer isso!
ERRO no servidor XYZ (ID: 123123123123) para o comando ^add_role, método undefined 'add_role' para nil:NilClass
Outros usuários conseguem ser sincronizados para o mesmo grupo ![]()
Isso sugere que o seu provider_uid no Discourse não está definido para aquele usuário. Por favor, investigue.
Parabéns por configurar isso, aliás. É bastante complexo e não é para quem tem medo de desafios! :).
Executei esta consulta no Plugin Knowledge Explorer:
SELECT *
FROM user_associated_accounts u
WHERE u.provider_name = 'discord'
Não posso postar o resultado por motivos
, mas verifiquei cada usuário quanto ao seu provider_uid e todos possuem um. Há mais alguma coisa que eu possa depurar?
Então, o problema mais provável a seguir é que o UID do Discord mapeado atualmente está incorreto.
Ou seja, os dados no Discourse não estão sendo mapeados para um UID válido no Discord.
Verifique manualmente o registro desse usuário no Discord e confirme se está correto.
Ei, posso confirmar isso. O usuário tem outro UID no Discourse do que no Discord.
Como esse problema pode ser reproduzido?
Você poderia remover a associação e pedir ao usuário para recriá-la associando o Discord novamente? Se isso acontecer novamente, algo está com defeito no login social?
Oi,
Só queria dar um retorno. Conversei com as pessoas que tiveram esses problemas e conseguimos identificar a possível causa.
O usuário se cadastrou com sua antiga conta do Discord, pela qual ele não havia entrado no servidor. Por isso, o Sync Bot não conseguiu encontrar o usuário do Discord e, acredito, gerou um erro.
Obrigado por esclarecer. Você pode confirmar como resolveu? Você removeu a associação dele e depois pediu para que ele se associasse novamente?
Foi exatamente o que fizemos. ![]()