Podemos usá-lo sem spawn quando usamos o console no Discourse?
Vejo o bot me dizendo erros quando tento fazer um remap ![]()
Podemos usá-lo sem spawn quando usamos o console no Discourse?
Vejo o bot me dizendo erros quando tento fazer um remap ![]()
Não tenho certeza do que você quer dizer com isso. A única interação deveria acontecer no Discord.
No entanto, que erros você está recebendo? Vou dar uma olhada em algum momento.
Eu também tenho este problema, entrar no container do discourse e iniciar o prompt rails c causa a criação de outra instância do bot. Isso resulta em comandos como Ping! retornando Pong! duas vezes e outras coisas como não conseguir alterar o nome de usuário ou apelido através do discordrb.
Executar o comando ::DiscordBot::Bot.discord_bot.stop faz com que a instância criada pelo rails c saia, mas ela não consegue interagir com o bot criado quando o Discourse inicia.
Obrigado pelo relatório. Vou registrar isso como um problema conhecido (editar: feito - adicionado à seção “Problemas Conhecidos” do OP). Suspeito que ele se comportou assim desde o início, e dado que isso foi relatado apenas algumas vezes e muito recentemente, suspeito que não seja geralmente considerado um grande problema, pois é um caso extremo.
Dado que você parece ser tecnicamente capaz, uma PR (Pull Request) é bem-vinda, se você puder resolvê-lo.
Pode ser um problema central com o Discordrb, para ser honesto, não vejo como listar outros bots em execução ou até mesmo selecioná-los em sua documentação, se eu descobrir, avisarei. Quanto a este bot, eu fiz um fork do projeto e o modifiquei da melhor forma que pude para funcionar como uma ponte de chat em vez de uma ponte de postagem.
Sim, o que precisamos fazer é ser capazes de testar se uma instância está em execução e não iniciar uma nova se uma já existir.
Essa é uma zona de perigo para condições de corrida, mas seria uma melhoria muito boa.
Se eu tivesse mais tempo, daria uma olhada mais cedo, mas se você quiser tentar, fique à vontade.
Parece que quando o console do Rails inicia, ele vincula a variável @@DiscordBot a outro bot em outra thread, enquanto o original é deixado sozinho. Não tenho certeza se é possível detectar que o console do Rails está iniciando e não iniciar um segundo bot, mas isso explica por que posso executar o comando stop no bot através do Rails e não afetar aquele que iniciou com o Discourse.
Olá,
Bom trabalho, quero usar isso, mas primeiro tenho uma pergunta que está um tanto relacionada a isso, tipo…
Eu uso Discourse WP-Connect para usar o WordPress como meu “mestre” para SSO (isso também pode usar login do Discord), você sabe quais “variáveis de usuário” eu precisaria passar na solicitação SSO para que este plugin a combine com um usuário do Discord? ou é apenas e-mail (presumo que não)
Eu já envio alguns valores extras, então espero poder enviar apenas mais um?
Conforme o OP, requer autenticação via Discord (usando a lógica principal integrada) para estabelecer o relacionamento.
Um SSO codificado de forma rígida do Wordpress impedirá isso, especialmente para novos usuários.
PR ou documentação adicional são bem-vindos se você encontrar uma maneira de contornar isso.
Bom trabalho, parabéns. Uma observação útil.
Certo, na verdade não é o que eu perguntei, talvez seja melhor perguntar no suporte, já que o login do Discord agora está integrado ao Discourse.
Sim, está além do escopo deste plugin dar suporte ao SSO do Wordpress.
Mas para te direcionar, você precisa de uma entrada nesta tabela:
Isso é feito automaticamente quando você faz login via Discord.
Duvido que o SSO do Wordpress possa popular isso em nome do Discord, mas estou preparado para ser provado errado.
Também tenho uma fonte OAuth que preciso que os usuários usem em vez do Discord. Para contornar isso, tenho o OAuth do Discord ativado conforme o OP, mas usei CSS personalizado para ocultar todas as outras fontes de login, exceto aquela que quero que meus usuários usem com a opção CSS display: none;. A capacidade de fazer OAuth com o Discord está “tecnicamente” ainda no HTML, mas um usuário final normal nunca a encontrará.
Os usuários podem então “conectar” seu Discord à conta que minha outra fonte OAuth cria em suas preferências de usuário.
Legal, isso pode ser uma solução alternativa, talvez eu investigue uma solução de código real, isso aparece nas preferências do Discourse então? talvez possamos enviar uma mensagem direta para não inchar este tópico?
Por que você associa os Canais do Discord às Categorias do Discourse em vez dos Tópicos? é porque pode haver tópicos com nomes duplicados? eu gostaria de ter 5 canais indo para os tópicos relevantes em 3 categorias, mas parece que isso não é possível?
Porque os anúncios de um único Tópico ficariam bem chatos?
É deliberadamente de alto nível para que você possa anunciar Novos Tópicos em Categorias específicas.
Desculpe, quis dizer para isto

Essa foi uma solicitação de cliente ![]()
Todo o chat, se bem me lembro, vai para um Tópico por Categoria para evitar bagunça em muitos Tópicos.
Entendo
Claro, no entanto, como ele está usando categorias, não posso ter, por exemplo, um tópico “#ford-support” na minha Categoria “Ford” que é sincronizado do canal #ford-support no Discord. Ruby não é minha linguagem de escolha, então duvido que eu possa fazer um fork e ajustá-la (como faço para muitas outras coisas que não são em Ruby).
Seria fácil fazer com que ele fizesse isso com base no nome do tópico/thread em vez disso? Ou existe alguma limitação talvez?
Nota lateral: imagens (curiosamente, GIFs sincronizam) não sincronizam com o tópico, não sei se isso é conhecido?
EDIT: ah, espere, parece que posso apenas mover o tópico depois que ele for criado.
As Threads não estavam disponíveis na API do Discord em Ruby da última vez que verifiquei, mas me disseram que estava “em desenvolvimento” (há dois anos!)
Eu definitivamente aceitaria um PR para adicionar suporte a Threads quando isso se tornar possível.
Receio que esteja muito ocupado ultimamente para focar na construção de muitos recursos em plugins fora do trabalho pago, mas ficarei feliz em revisar um PR.