[{"data":1,"prerenderedAt":1020},["ShallowReactive",2],{"navigation_docs_fr":3,"-fr-examples-module":151,"-fr-examples-module-surround":1015},[4,34,69,94,122],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":6},"Bien démarrer",false,"\u002Ffr\u002Fgetting-started","fr\u002F1.getting-started",[10,15,20,25,29],{"title":11,"path":12,"stem":13,"icon":14},"Introduction","\u002Ffr\u002Fgetting-started\u002Fintroduction","fr\u002F1.getting-started\u002F1.introduction","i-lucide-sparkles",{"title":16,"path":17,"stem":18,"icon":19},"Installation","\u002Ffr\u002Fgetting-started\u002Fsetup","fr\u002F1.getting-started\u002F2.setup","i-lucide-rocket",{"title":21,"path":22,"stem":23,"icon":24},"Structure du projet","\u002Ffr\u002Fgetting-started\u002Fproject-structure","fr\u002F1.getting-started\u002F3.project-structure","i-lucide-folder-tree",{"title":26,"path":27,"stem":28,"icon":24},"Structure d’un module","\u002Ffr\u002Fgetting-started\u002Fmodule-structure","fr\u002F1.getting-started\u002F4.module-structure",{"title":30,"path":31,"stem":32,"icon":33},"Auto-imports","\u002Ffr\u002Fgetting-started\u002Fauto-imports","fr\u002F1.getting-started\u002F5.auto-imports","i-lucide-wand",{"title":35,"icon":6,"path":36,"stem":37,"children":38,"page":6},"Guide","\u002Ffr\u002Fguide","fr\u002F2.guide",[39,44,49,54,59,64],{"title":40,"path":41,"stem":42,"icon":43},"Commandes","\u002Ffr\u002Fguide\u002Fcommands","fr\u002F2.guide\u002F1.commands","i-lucide-terminal",{"title":45,"path":46,"stem":47,"icon":48},"Events","\u002Ffr\u002Fguide\u002Fevents","fr\u002F2.guide\u002F2.events","i-lucide-radio",{"title":50,"path":51,"stem":52,"icon":53},"Embeds V2","\u002Ffr\u002Fguide\u002Fembed-v2","fr\u002F2.guide\u002F3.embed-v2","i-lucide-layout",{"title":55,"path":56,"stem":57,"icon":58},"GlyriaBus","\u002Ffr\u002Fguide\u002Fglyria-bus","fr\u002F2.guide\u002F4.glyria-bus","i-lucide-bus",{"title":60,"path":61,"stem":62,"icon":63},"Replyable Context","\u002Ffr\u002Fguide\u002Freplyable-context","fr\u002F2.guide\u002F5.replyable-context","i-lucide-message-square",{"title":65,"path":66,"stem":67,"icon":68},"Modules","\u002Ffr\u002Fguide\u002Fmodules","fr\u002F2.guide\u002F6.modules","i-lucide-package",{"title":70,"icon":6,"path":71,"stem":72,"children":73,"page":6},"Exemples","\u002Ffr\u002Fexamples","fr\u002F3.examples",[74,79,82,86,89],{"title":75,"path":76,"stem":77,"icon":78},"Client","\u002Ffr\u002Fexamples\u002Fclient","fr\u002F3.examples\u002F1.client","i-lucide-bot",{"title":40,"path":80,"stem":81,"icon":43},"\u002Ffr\u002Fexamples\u002Fcommands","fr\u002F3.examples\u002F2.commands",{"title":45,"path":83,"stem":84,"icon":85},"\u002Ffr\u002Fexamples\u002Fevents","fr\u002F3.examples\u002F3.events","i-lucide-zap",{"title":50,"path":87,"stem":88,"icon":53},"\u002Ffr\u002Fexamples\u002Fembeds","fr\u002F3.examples\u002F4.embeds",{"title":90,"path":91,"stem":92,"icon":93},"Module","\u002Ffr\u002Fexamples\u002Fmodule","fr\u002F3.examples\u002F5.module","i-lucide-code",{"title":95,"icon":6,"path":96,"stem":97,"children":98,"page":6},"CLI","\u002Ffr\u002Fcli","fr\u002F4.cli",[99,104,109,113,117],{"title":100,"path":101,"stem":102,"icon":103},"glyria init","\u002Ffr\u002Fcli\u002Finit","fr\u002F4.cli\u002F1.init","i-lucide-folder-plus",{"title":105,"path":106,"stem":107,"icon":108},"glyria generate","\u002Ffr\u002Fcli\u002Fgenerate","fr\u002F4.cli\u002F2.generate","i-lucide-refresh-cw",{"title":110,"path":111,"stem":112,"icon":85},"glyria dev","\u002Ffr\u002Fcli\u002Fdev","fr\u002F4.cli\u002F3.dev",{"title":114,"path":115,"stem":116,"icon":68},"glyria build","\u002Ffr\u002Fcli\u002Fbuild","fr\u002F4.cli\u002F4.build",{"title":118,"path":119,"stem":120,"icon":121},"glyria start","\u002Ffr\u002Fcli\u002Fstart","fr\u002F4.cli\u002F5.start","i-lucide-play",{"title":123,"icon":6,"path":124,"stem":125,"children":126,"page":6},"API Reference","\u002Ffr\u002Fapi-reference","fr\u002F5.api-reference",[127,131,135,139,143,146],{"title":128,"path":129,"stem":130,"icon":78},"GlyriaClient","\u002Ffr\u002Fapi-reference\u002Fglyria-client","fr\u002F5.api-reference\u002F1.glyria-client",{"title":132,"path":133,"stem":134,"icon":43},"GlyriaCommand","\u002Ffr\u002Fapi-reference\u002Fglyria-command","fr\u002F5.api-reference\u002F2.glyria-command",{"title":136,"path":137,"stem":138,"icon":48},"GlyriaEvent","\u002Ffr\u002Fapi-reference\u002Fglyria-event","fr\u002F5.api-reference\u002F3.glyria-event",{"title":140,"path":141,"stem":142,"icon":53},"EmbedV2Builder","\u002Ffr\u002Fapi-reference\u002Fembed-v2","fr\u002F5.api-reference\u002F4.embed-v2",{"title":55,"path":144,"stem":145,"icon":58},"\u002Ffr\u002Fapi-reference\u002Fglyria-bus","fr\u002F5.api-reference\u002F5.glyria-bus",{"title":147,"path":148,"stem":149,"icon":150},"defineGlyriaConfig","\u002Ffr\u002Fapi-reference\u002Fdefine-glyria-config","fr\u002F5.api-reference\u002F6.define-glyria-config","i-lucide-settings",{"id":152,"title":90,"body":153,"description":1008,"extension":1009,"links":1010,"meta":1011,"navigation":1012,"path":91,"seo":1013,"stem":92,"__hash__":1014},"docs_fr\u002Ffr\u002F3.examples\u002F5.module.md",{"type":154,"value":155,"toc":999},"minimark",[156,161,170,174,177,525,528,536,540,552,613,616,632,697,701,707,794,858,862,868,925,987,995],[157,158,160],"h2",{"id":159},"vue-densemble","Vue d’ensemble",[162,163,164,165,169],"p",{},"Cette page présente un module Glyria minimal mais complet — ",[166,167,168],"code",{},"@glyria\u002Ftimers"," — servant de référence pour créer vos propres modules.",[157,171,173],{"id":172},"indexts","index.ts",[162,175,176],{},"Le point d’entrée de votre module. C’est ici que vous vous connectez au cycle de vie du bot et exposez votre API publique.",[178,179,184],"pre",{"className":180,"code":181,"language":182,"meta":183,"style":183},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F src\u002Findex.ts\nimport { globalBus, GlyriaBus } from \"@glyria\u002Fbot\"\nimport { Events } from \"discord.js\"\n\ntype TimersBusEvents = {\n  ready: []\n}\n\nexport const bus = new GlyriaBus\u003CTimersBusEvents>()\n\nglobalBus.on(\"botReady\", async (client) => {\n  await bus.emit(\"ready\")\n\n  client.bus.on(Events.MessageCreate, (message) => {\n    if (message.content === \"!ping\") {\n      message.reply(\"Pong! From @glyria\u002Ftimers !\")\n    }\n  })\n})\n","ts","",[166,185,186,195,232,253,260,277,290,296,301,334,339,382,408,413,450,481,503,509,517],{"__ignoreMap":183},[187,188,191],"span",{"class":189,"line":190},"line",1,[187,192,194],{"class":193},"sHwdD","\u002F\u002F src\u002Findex.ts\n",[187,196,198,202,206,210,213,216,219,222,225,229],{"class":189,"line":197},2,[187,199,201],{"class":200},"s7zQu","import",[187,203,205],{"class":204},"sMK4o"," {",[187,207,209],{"class":208},"sTEyZ"," globalBus",[187,211,212],{"class":204},",",[187,214,215],{"class":208}," GlyriaBus",[187,217,218],{"class":204}," }",[187,220,221],{"class":200}," from",[187,223,224],{"class":204}," \"",[187,226,228],{"class":227},"sfazB","@glyria\u002Fbot",[187,230,231],{"class":204},"\"\n",[187,233,235,237,239,242,244,246,248,251],{"class":189,"line":234},3,[187,236,201],{"class":200},[187,238,205],{"class":204},[187,240,241],{"class":208}," Events",[187,243,218],{"class":204},[187,245,221],{"class":200},[187,247,224],{"class":204},[187,249,250],{"class":227},"discord.js",[187,252,231],{"class":204},[187,254,256],{"class":189,"line":255},4,[187,257,259],{"emptyLinePlaceholder":258},true,"\n",[187,261,263,267,271,274],{"class":189,"line":262},5,[187,264,266],{"class":265},"spNyl","type",[187,268,270],{"class":269},"sBMFI"," TimersBusEvents",[187,272,273],{"class":204}," =",[187,275,276],{"class":204}," {\n",[187,278,280,284,287],{"class":189,"line":279},6,[187,281,283],{"class":282},"swJcz","  ready",[187,285,286],{"class":204},":",[187,288,289],{"class":208}," []\n",[187,291,293],{"class":189,"line":292},7,[187,294,295],{"class":204},"}\n",[187,297,299],{"class":189,"line":298},8,[187,300,259],{"emptyLinePlaceholder":258},[187,302,304,307,310,313,316,319,322,325,328,331],{"class":189,"line":303},9,[187,305,306],{"class":200},"export",[187,308,309],{"class":265}," const",[187,311,312],{"class":208}," bus ",[187,314,315],{"class":204},"=",[187,317,318],{"class":204}," new",[187,320,215],{"class":321},"s2Zo4",[187,323,324],{"class":204},"\u003C",[187,326,327],{"class":269},"TimersBusEvents",[187,329,330],{"class":204},">",[187,332,333],{"class":208},"()\n",[187,335,337],{"class":189,"line":336},10,[187,338,259],{"emptyLinePlaceholder":258},[187,340,342,345,348,351,354,357,360,362,364,367,370,374,377,380],{"class":189,"line":341},11,[187,343,344],{"class":208},"globalBus",[187,346,347],{"class":204},".",[187,349,350],{"class":321},"on",[187,352,353],{"class":208},"(",[187,355,356],{"class":204},"\"",[187,358,359],{"class":227},"botReady",[187,361,356],{"class":204},[187,363,212],{"class":204},[187,365,366],{"class":265}," async",[187,368,369],{"class":204}," (",[187,371,373],{"class":372},"sHdIc","client",[187,375,376],{"class":204},")",[187,378,379],{"class":265}," =>",[187,381,276],{"class":204},[187,383,385,388,391,393,396,398,400,403,405],{"class":189,"line":384},12,[187,386,387],{"class":200},"  await",[187,389,390],{"class":208}," bus",[187,392,347],{"class":204},[187,394,395],{"class":321},"emit",[187,397,353],{"class":282},[187,399,356],{"class":204},[187,401,402],{"class":227},"ready",[187,404,356],{"class":204},[187,406,407],{"class":282},")\n",[187,409,411],{"class":189,"line":410},13,[187,412,259],{"emptyLinePlaceholder":258},[187,414,416,419,421,424,426,428,430,432,434,437,439,441,444,446,448],{"class":189,"line":415},14,[187,417,418],{"class":208},"  client",[187,420,347],{"class":204},[187,422,423],{"class":208},"bus",[187,425,347],{"class":204},[187,427,350],{"class":321},[187,429,353],{"class":282},[187,431,45],{"class":208},[187,433,347],{"class":204},[187,435,436],{"class":208},"MessageCreate",[187,438,212],{"class":204},[187,440,369],{"class":204},[187,442,443],{"class":372},"message",[187,445,376],{"class":204},[187,447,379],{"class":265},[187,449,276],{"class":204},[187,451,453,456,458,460,462,465,468,470,473,475,478],{"class":189,"line":452},15,[187,454,455],{"class":200},"    if",[187,457,369],{"class":282},[187,459,443],{"class":208},[187,461,347],{"class":204},[187,463,464],{"class":208},"content",[187,466,467],{"class":204}," ===",[187,469,224],{"class":204},[187,471,472],{"class":227},"!ping",[187,474,356],{"class":204},[187,476,477],{"class":282},") ",[187,479,480],{"class":204},"{\n",[187,482,484,487,489,492,494,496,499,501],{"class":189,"line":483},16,[187,485,486],{"class":208},"      message",[187,488,347],{"class":204},[187,490,491],{"class":321},"reply",[187,493,353],{"class":282},[187,495,356],{"class":204},[187,497,498],{"class":227},"Pong! From @glyria\u002Ftimers !",[187,500,356],{"class":204},[187,502,407],{"class":282},[187,504,506],{"class":189,"line":505},17,[187,507,508],{"class":204},"    }\n",[187,510,512,515],{"class":189,"line":511},18,[187,513,514],{"class":204},"  }",[187,516,407],{"class":282},[187,518,520,523],{"class":189,"line":519},19,[187,521,522],{"class":204},"}",[187,524,407],{"class":208},[157,526,344],{"id":527},"globalbus",[162,529,530,532,533,535],{},[166,531,344],{}," est le bus d’événements interne de Glyria. L’événement ",[166,534,359],{}," est déclenché une fois que le client Discord est connecté et prêt. C’est le point d’entrée recommandé pour toute logique d’initialisation de module.",[157,537,539],{"id":538},"clientbus","client.bus",[162,541,542,544,545,547,548,551],{},[166,543,539],{}," est le bus d’événements Discord.js. Il correspond directement à l’enum ",[166,546,45],{}," de discord.js, mais passe par la couche de middleware de Glyria — ce qui signifie que les middlewares définis par l’utilisateur et ceux des autres modules sont appliqués. Utiliser ",[166,549,550],{},"client.on"," directement contourne tous ces middlewares.",[178,553,555],{"className":180,"code":554,"language":182,"meta":183,"style":183},"\u002F\u002F ✅ Passe par les middlewares utilisateur et module\nclient.bus.on(Events.MessageCreate, handler)\n\n\u002F\u002F ⚠️ Contourne tous les middlewares — à utiliser uniquement si vous savez ce que vous faites\nclient.on(Events.MessageCreate, handler)\n",[166,556,557,562,586,590,595],{"__ignoreMap":183},[187,558,559],{"class":189,"line":190},[187,560,561],{"class":193},"\u002F\u002F ✅ Passe par les middlewares utilisateur et module\n",[187,563,564,566,568,570,572,574,577,579,581,583],{"class":189,"line":197},[187,565,373],{"class":208},[187,567,347],{"class":204},[187,569,423],{"class":208},[187,571,347],{"class":204},[187,573,350],{"class":321},[187,575,576],{"class":208},"(Events",[187,578,347],{"class":204},[187,580,436],{"class":208},[187,582,212],{"class":204},[187,584,585],{"class":208}," handler)\n",[187,587,588],{"class":189,"line":234},[187,589,259],{"emptyLinePlaceholder":258},[187,591,592],{"class":189,"line":255},[187,593,594],{"class":193},"\u002F\u002F ⚠️ Contourne tous les middlewares — à utiliser uniquement si vous savez ce que vous faites\n",[187,596,597,599,601,603,605,607,609,611],{"class":189,"line":262},[187,598,373],{"class":208},[187,600,347],{"class":204},[187,602,350],{"class":321},[187,604,576],{"class":208},[187,606,347],{"class":204},[187,608,436],{"class":208},[187,610,212],{"class":204},[187,612,585],{"class":208},[157,614,30],{"id":615},"auto-imports",[162,617,618,619,622,623,626,627,631],{},"Les auto-imports sont une fonctionnalité pensée pour le projet utilisateur (",[166,620,621],{},"src\u002Fcomposables\u002F",", ",[166,624,625],{},"src\u002Futils\u002F","). À l’intérieur d’un module, ils ne sont ",[628,629,630],"strong",{},"pas disponibles"," — utilisez toujours des imports explicites.",[178,633,635],{"className":180,"code":634,"language":182,"meta":183,"style":183},"\u002F\u002F ❌ Ne vous reposez pas sur les auto-imports dans un module\nconst db = useDatabase()\n\n\u002F\u002F ✅ Faites toujours des imports explicites\nimport { useDatabase } from \".\u002Fcomposables\u002FuseDatabase.js\"\nconst db = useDatabase()\n",[166,636,637,642,657,661,666,685],{"__ignoreMap":183},[187,638,639],{"class":189,"line":190},[187,640,641],{"class":193},"\u002F\u002F ❌ Ne vous reposez pas sur les auto-imports dans un module\n",[187,643,644,647,650,652,655],{"class":189,"line":197},[187,645,646],{"class":265},"const",[187,648,649],{"class":208}," db ",[187,651,315],{"class":204},[187,653,654],{"class":321}," useDatabase",[187,656,333],{"class":208},[187,658,659],{"class":189,"line":234},[187,660,259],{"emptyLinePlaceholder":258},[187,662,663],{"class":189,"line":255},[187,664,665],{"class":193},"\u002F\u002F ✅ Faites toujours des imports explicites\n",[187,667,668,670,672,674,676,678,680,683],{"class":189,"line":262},[187,669,201],{"class":200},[187,671,205],{"class":204},[187,673,654],{"class":208},[187,675,218],{"class":204},[187,677,221],{"class":200},[187,679,224],{"class":204},[187,681,682],{"class":227},".\u002Fcomposables\u002FuseDatabase.js",[187,684,231],{"class":204},[187,686,687,689,691,693,695],{"class":189,"line":279},[187,688,646],{"class":265},[187,690,649],{"class":208},[187,692,315],{"class":204},[187,694,654],{"class":321},[187,696,333],{"class":208},[157,698,700],{"id":699},"exposer-une-api-publique","Exposer une API publique",[162,702,703,704,706],{},"Tout ce qui est exporté depuis ",[166,705,173],{}," devient automatiquement disponible dans le projet de l’utilisateur sous le namespace de votre module — aucun import requis de son côté.",[178,708,710],{"className":180,"code":709,"language":182,"meta":183,"style":183},"\u002F\u002F src\u002Findex.ts\nexport const createJob = (fn: () => void, cron: string) => { ... }\nexport const deleteJob = (id: string) => { ... }\n",[166,711,712,716,764],{"__ignoreMap":183},[187,713,714],{"class":189,"line":190},[187,715,194],{"class":193},[187,717,718,720,722,725,727,729,732,734,737,739,742,744,747,749,752,754,756,758,761],{"class":189,"line":197},[187,719,306],{"class":200},[187,721,309],{"class":265},[187,723,724],{"class":208}," createJob ",[187,726,315],{"class":204},[187,728,369],{"class":204},[187,730,731],{"class":321},"fn",[187,733,286],{"class":204},[187,735,736],{"class":204}," ()",[187,738,379],{"class":265},[187,740,741],{"class":269}," void",[187,743,212],{"class":204},[187,745,746],{"class":372}," cron",[187,748,286],{"class":204},[187,750,751],{"class":269}," string",[187,753,376],{"class":204},[187,755,379],{"class":265},[187,757,205],{"class":204},[187,759,760],{"class":204}," ...",[187,762,763],{"class":204}," }\n",[187,765,766,768,770,773,775,777,780,782,784,786,788,790,792],{"class":189,"line":234},[187,767,306],{"class":200},[187,769,309],{"class":265},[187,771,772],{"class":208}," deleteJob ",[187,774,315],{"class":204},[187,776,369],{"class":204},[187,778,779],{"class":372},"id",[187,781,286],{"class":204},[187,783,751],{"class":269},[187,785,376],{"class":204},[187,787,379],{"class":265},[187,789,205],{"class":204},[187,791,760],{"class":204},[187,793,763],{"class":204},[178,795,797],{"className":180,"code":796,"language":182,"meta":183,"style":183},"\u002F\u002F Dans le projet utilisateur — aucun import requis\nTimers.createJob(() => {\n    console.log(\"runs every minute\")\n}, \"* * * * *\")\n",[166,798,799,804,823,844],{"__ignoreMap":183},[187,800,801],{"class":189,"line":190},[187,802,803],{"class":193},"\u002F\u002F Dans le projet utilisateur — aucun import requis\n",[187,805,806,809,811,814,816,819,821],{"class":189,"line":197},[187,807,808],{"class":208},"Timers",[187,810,347],{"class":204},[187,812,813],{"class":321},"createJob",[187,815,353],{"class":208},[187,817,818],{"class":204},"()",[187,820,379],{"class":265},[187,822,276],{"class":204},[187,824,825,828,830,833,835,837,840,842],{"class":189,"line":234},[187,826,827],{"class":208},"    console",[187,829,347],{"class":204},[187,831,832],{"class":321},"log",[187,834,353],{"class":282},[187,836,356],{"class":204},[187,838,839],{"class":227},"runs every minute",[187,841,356],{"class":204},[187,843,407],{"class":282},[187,845,846,849,851,854,856],{"class":189,"line":255},[187,847,848],{"class":204},"},",[187,850,224],{"class":204},[187,852,853],{"class":227},"* * * * *",[187,855,356],{"class":204},[187,857,407],{"class":208},[157,859,861],{"id":860},"exposer-un-bus","Exposer un Bus",[162,863,864,865,867],{},"Si votre module émet ses propres événements, exportez directement le bus depuis ",[166,866,173],{},". Les utilisateurs pourront ensuite l’écouter via le namespace de votre module.",[178,869,871],{"className":180,"code":870,"language":182,"meta":183,"style":183},"\u002F\u002F src\u002Findex.ts\ntype TimersBusEvents = {\n  ready: []\n}\n\nexport const bus = new GlyriaBus\u003CTimersBusEvents>()\n",[166,872,873,877,887,895,899,903],{"__ignoreMap":183},[187,874,875],{"class":189,"line":190},[187,876,194],{"class":193},[187,878,879,881,883,885],{"class":189,"line":197},[187,880,266],{"class":265},[187,882,270],{"class":269},[187,884,273],{"class":204},[187,886,276],{"class":204},[187,888,889,891,893],{"class":189,"line":234},[187,890,283],{"class":282},[187,892,286],{"class":204},[187,894,289],{"class":208},[187,896,897],{"class":189,"line":255},[187,898,295],{"class":204},[187,900,901],{"class":189,"line":262},[187,902,259],{"emptyLinePlaceholder":258},[187,904,905,907,909,911,913,915,917,919,921,923],{"class":189,"line":279},[187,906,306],{"class":200},[187,908,309],{"class":265},[187,910,312],{"class":208},[187,912,315],{"class":204},[187,914,318],{"class":204},[187,916,215],{"class":321},[187,918,324],{"class":204},[187,920,327],{"class":269},[187,922,330],{"class":204},[187,924,333],{"class":208},[178,926,928],{"className":180,"code":927,"language":182,"meta":183,"style":183},"\u002F\u002F Dans le projet utilisateur — aucun import requis\nTimers.bus.on(\"ready\", () => {\n    console.log(\"Timers module is ready!\")\n})\n",[166,929,930,934,962,981],{"__ignoreMap":183},[187,931,932],{"class":189,"line":190},[187,933,803],{"class":193},[187,935,936,938,940,942,944,946,948,950,952,954,956,958,960],{"class":189,"line":197},[187,937,808],{"class":208},[187,939,347],{"class":204},[187,941,423],{"class":208},[187,943,347],{"class":204},[187,945,350],{"class":321},[187,947,353],{"class":208},[187,949,356],{"class":204},[187,951,402],{"class":227},[187,953,356],{"class":204},[187,955,212],{"class":204},[187,957,736],{"class":204},[187,959,379],{"class":265},[187,961,276],{"class":204},[187,963,964,966,968,970,972,974,977,979],{"class":189,"line":234},[187,965,827],{"class":208},[187,967,347],{"class":204},[187,969,832],{"class":321},[187,971,353],{"class":282},[187,973,356],{"class":204},[187,975,976],{"class":227},"Timers module is ready!",[187,978,356],{"class":204},[187,980,407],{"class":282},[187,982,983,985],{"class":189,"line":255},[187,984,522],{"class":204},[187,986,407],{"class":208},[162,988,989,990,992,993,347],{},"Le namespace est dérivé du nom du package en PascalCase — ",[166,991,168],{}," → ",[166,994,808],{},[996,997,998],"style",{},"html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":183,"searchDepth":197,"depth":197,"links":1000},[1001,1002,1003,1004,1005,1006,1007],{"id":159,"depth":197,"text":160},{"id":172,"depth":197,"text":173},{"id":527,"depth":197,"text":344},{"id":538,"depth":197,"text":539},{"id":615,"depth":197,"text":30},{"id":699,"depth":197,"text":700},{"id":860,"depth":197,"text":861},"Un exemple concret de module Glyria.","md",null,{},{"icon":93},{"title":90,"description":1008},"cNiGkUlIeOFVirXMd9JXTI2g2qP4WOP-ouOQXbG57AE",[1016,1018],{"title":50,"path":87,"stem":88,"description":1017,"icon":53,"children":-1},"Créez des messages Discord riches avec le builder Embed V2 de glyria.js.",{"title":100,"path":101,"stem":102,"description":1019,"icon":103,"children":-1},"Initialisez un nouveau projet glyria.js en quelques secondes.",1779887244627]