回答編集履歴

3

修正

2021/10/03 22:49

投稿

kairi003
kairi003

スコア1332

test CHANGED
@@ -98,7 +98,7 @@
98
98
 
99
99
  async def on_ready(self):
100
100
 
101
- print('bot is ready')
101
+ print('bot is ready.')
102
102
 
103
103
 
104
104
 
@@ -132,6 +132,6 @@
132
132
 
133
133
  load extension.
134
134
 
135
- bot is ready
135
+ bot is ready.
136
136
 
137
137
  ```

2

追記

2021/10/03 22:48

投稿

kairi003
kairi003

スコア1332

test CHANGED
@@ -8,11 +8,7 @@
8
8
 
9
9
 
10
10
 
11
- ---
12
-
13
-
14
-
15
- 追記
11
+ #追記
16
12
 
17
13
  ```py
18
14
 
@@ -49,3 +45,93 @@
49
45
 
50
46
 
51
47
  あとcogs.pyでなぜか動かさないbotを定義していたりする意味がよく分かりません。名前も衝突してますしやめたほうがいいと思います。
48
+
49
+
50
+
51
+
52
+
53
+ #追記2
54
+
55
+
56
+
57
+ とりあえず自分の手元では以下で動作したのですが…
58
+
59
+ なにか構成に違いはありますか?モジュールの相対インポートは実行ファイルが基準になるのでディレクトリ構成次第になります。
60
+
61
+ 全く同じにして、それでも動かないと言われるとちょっとお手上げですね…
62
+
63
+
64
+
65
+ ###構成(treeコマンド出力結果)
66
+
67
+ ```
68
+
69
+ .
70
+
71
+ ├── cogs
72
+
73
+ │ └── cogs.py
74
+
75
+ └── main.py(実行スクリプト)
76
+
77
+ ```
78
+
79
+
80
+
81
+ ###main.py
82
+
83
+ ```py
84
+
85
+ from discord.ext import commands
86
+
87
+
88
+
89
+ class LibeBot(commands.Bot):
90
+
91
+ def __init__(self, command_prefix):
92
+
93
+ super().__init__(command_prefix)
94
+
95
+ self.load_extension('cogs.cogs')
96
+
97
+
98
+
99
+ async def on_ready(self):
100
+
101
+ print('bot is ready')
102
+
103
+
104
+
105
+ if __name__ == '__main__':
106
+
107
+ bot = LibeBot(command_prefix='.')
108
+
109
+ bot.run('TOKEN')
110
+
111
+ ```
112
+
113
+
114
+
115
+ ###cogs/cogs.py
116
+
117
+ ```py
118
+
119
+ def setup(bot):
120
+
121
+ print('load extension.')
122
+
123
+ ```
124
+
125
+
126
+
127
+ ###実行結果出力
128
+
129
+ ```
130
+
131
+ >python main.py
132
+
133
+ load extension.
134
+
135
+ bot is ready
136
+
137
+ ```

1

追記

2021/10/03 22:44

投稿

kairi003
kairi003

スコア1332

test CHANGED
@@ -5,3 +5,47 @@
5
5
  Extensionのパスはこの構成なら'cogs.cogs'になるんじゃないですかね。
6
6
 
7
7
  あとcogs.pyに、runしないBotインスタンスが出現している意図がよく分からないのですがやめたほうがいいと思います。
8
+
9
+
10
+
11
+ ---
12
+
13
+
14
+
15
+ 追記
16
+
17
+ ```py
18
+
19
+ INITIAL_EXTENSIONS = [
20
+
21
+ 'cogs.LibeCog'
22
+
23
+ ]
24
+
25
+ ```
26
+
27
+ 多分これ↑がおかしいです。
28
+
29
+ ExtensionはCogではありません。
30
+
31
+ pyファイルを指します。
32
+
33
+ またcogs.pyはcogsフォルダ下にあるためその階層を明記する必要があります。
34
+
35
+ なので
36
+
37
+ ```py
38
+
39
+ INITIAL_EXTENSIONS = [
40
+
41
+ 'cogs.cogs'
42
+
43
+ ]
44
+
45
+ ```
46
+
47
+ です。
48
+
49
+
50
+
51
+ あとcogs.pyでなぜか動かさないbotを定義していたりする意味がよく分かりません。名前も衝突してますしやめたほうがいいと思います。