discord.pyにてdiscord botを作成しようと思っています。
やりたいことは/verでボットのバージョンの表記(botのアプデなどをわかりやすくする為)
Twitterであるハッシュタグをサーチし、discordのテキストチャンネルに貼る。
botの起動時のemded
プレイ中
エラーこそ出ませんが、コマンドもすべて出ず、emdedやプレイ中も出ませんでした。
下がコードになります。
python
1import discord # インストールした discord.py 2import datetime # 滞在時間計測用 3import asyncio 4import twitter 5import sys 6from googlesearch import search 7import tweepy 8import time 9import discord 10import asyncio 11 12### Twitter API KEY 13Consumer_key = '' 14Consumer_secret = '' 15Access_token = '' 16Access_secret = '' 17 18### TwitterAPI認証用関数 19def authTwitter(): 20 auth = tweepy.OAuthHandler(Consumer_key, Consumer_secret) 21 auth.set_access_token(Access_token, Access_secret) 22 api = tweepy.API(auth, wait_on_rate_limit = True) # API利用制限にかかった場合、解除まで待機する 23 return(api) 24 25### Tweetの検索結果を標準出力 26def printTweetBySearch(s): 27 api = authTwitter() # 認証 28 29 for i in range(1000): 30 tweets = tweepy.Cursor(api.search, q = "キーワード", \ 31 32 tweet_mode = 'extended', \ 33 lang = 'ja'.items()) 34 time.sleep(1) 35 # 日本のツイートのみ取得 36 37 for tweet in tweets: 38 tweeta = "https://" + "twitter.com/" + tweet.user.screen_name + "/" + tweet.id 39 return "https://twitter.com/" + tweet.user.screen_name + "/" + tweet.id 40 41 42 43def main(): 44 printTweetBySearch('python exclude:retweets') 45 46if name == "main": 47 main() 48 49client = discord.Client() 50 51@client.event 52async def on_message(msg): 53 if msg.content == ".twi": 54 await message.channel.send(printTweetBySearch.tweet()) 55 56client.run("token hereeeee") 57import tweepy 58import time 59import discord 60 61### Twitter API KEY 62Consumer_key = '' 63Consumer_secret = '' 64Access_token = '' 65Access_secret = '' 66 67### TwitterAPI認証用関数 68def authTwitter(): 69 auth = tweepy.OAuthHandler(Consumer_key, Consumer_secret) 70 auth.set_access_token(Access_token, Access_secret) 71 api = tweepy.API(auth, wait_on_rate_limit = True) # API利用制限にかかった場合、解除まで待機する 72 return(api) 73 74### Tweetの検索結果を標準出力 75def printTweetBySearch(s): 76 api = authTwitter() # 認証 77 78 for i in range(1000): 79 tweets = tweepy.Cursor(api.search, q = "キーワード", \ 80 81 tweet_mode = 'extended', \ 82 lang = 'ja'.items()) 83 time.sleep(1) 84 # 日本のツイートのみ取得 85 86 for tweet in tweets: 87 tweeta = "https://" + "twitter.com/" + tweet.user.screen_name + "/" + tweet.id 88 return tweeta 89 90 91def main(): 92 printTweetBySearch('python exclude:retweets') 93 94if name == "main": 95 main() 96 97client = discord.Client() 98 99@client.event 100async def on_ready(): 101 for i in range(1000): 102 channel = client.get.channel(キーワードのやつのチャンネルid) 103 tweeets = printTweetBySearch 104 await channel.send(tweeets) 105 asyncio.sleep(1) 106 print('Logged in as') 107 print(client.user.name) 108 print(client.user.id) 109 print('------') 110 111 embed = discord.Embed( # Embedを定義する 112 title="botを起動しました",# タイトル 113 color=0x00ff00, # フレーム色指定(今回は緑) 114 description="不具合、質問がある場合はdmに下さい。", # Embedの説明文 必要に応じて 115 url="https://example.com/" # これを設定すると、タイトルが指定URLへのリンクになる 116 ) 117 118 embed.set_author( 119 name=client.user, # Botのユーザー名 120 url="https://repo.exapmle.com/bot", # titleのurlのようにnameをリンクにできる。botのWebサイトとかGithubとか 121 icon_url=client.user.avatar_url # Botのアイコンを設定してみる 122 ) 123 124 embed.set_thumbnail(url="https://image.example.com/thumbnail.png%22) 125 126 embed.set_image(url="https://image.example.com/main.png%22) # 大きな画像タイルを設定できる 127 128 embed.add_field(name="フィールド1",value="値1") # フィールドを追加。 129 embed.add_field(name="フィールド2",value="値2") 130 131 embed.set_footer( 132 text="Prodeced by Senchan", # フッターには開発者の情報でも入れてみる 133 icon_url="https://dev.exapmple.com/profile.png" 134 ) 135 136 channel = client.get_channel(881166734835470406) # ここのチャンネルIDを間違えると送信できないので注意してください 137 await channel.send(embed=embed) 138 139 await bot.change_presence(activity=discord.Activity(type=discord.ActivityType.listening, name="Produced by せんちゃん")) 140@client.event 141async def on_message(message): 142 if message.content.startswith("/ver"): 143 await message.channel.send("> ver1.0") 144 145token = "" 146client.run(token)