Bloco Script
O bloco "Script" executa código JavaScript.

Dentro de scripts, as variáveis não são interpoladas: elas são avaliadas. Trate-as como se fossem variáveis JavaScript de verdade.
Escreva console.log({{Minha variável}}) em vez de console.log("{{Minha variável}}").
Função setVariable
Se você quer definir o valor de uma variável com JavaScript, o bloco Variável costuma ser mais adequado.
Mas, se preferir definir variáveis dentro de um bloco Script, use a função setVariable:
if({{My variable}} === 'foo') {
setVariable('My variable', 'bar')
} else {
setVariable('My variable', 'other')
}A função setVariable só existe em scripts executados no servidor, então não funciona com a opção Executar no cliente? marcada.
Limitações dos scripts executados no servidor
Como o script roda em um ambiente isolado e protegido, há algumas limitações.
-
Funções globais como
console.log,setTimeoutesetIntervalnão estão disponíveis. -
A função
fetchse comporta de forma um pouco diferente da nativa: basta pular a parte doawait response.text()ouawait response.json().// ❌ This throws an error const response = await fetch('https://jsonplaceholder.typicode.com/todos/1') const data = await response.text() // ✅ This works const data = await fetch('https://jsonplaceholder.typicode.com/todos/1')A resposta é sempre um
string, mesmo quando a requisição devolve um objeto JSON. Se você sabe que a resposta é JSON, converta comJSON.parse(response).// ❌ This throws an error const response = await fetch('https://jsonplaceholder.typicode.com/todos/1') const data = await response.json() // ✅ This works const response = await fetch('https://jsonplaceholder.typicode.com/todos/1') const data = JSON.parse(response) -
Não é possível usar
importourequirepara carregar bibliotecas externas. -
Você não tem acesso a APIs do navegador, como
window,documentoulocalStorage. Se precisar delas, marque a opçãoExecutar no cliente?para que o script rode no navegador do usuário.
Exemplos
Recarregar a página
window.location.reload()Redirecionar quando uma variável tem determinado valor
if({{Category}} === 'qualified') {
window.location.href = 'https://my-site.com'
}Precisa fazer algo e não sabe como? Entre no servidor do Discord e peça ajuda!