
No License
Python
2021年03月15日
from discord.ext import commands
from discord.utils import get
import discord
import config
import time
import random
import tweepy
from tqdm import tqdm
import requests
import aiohttp
intents = discord.Intents.default()
intents.members = True
bot = commands.Bot(command_prefix='/',intents=intents)
bot.remove_command("help")
@bot.event
async def on_member_join(member):
await member.send("__***参加していただきありがとうございます。***__\n***スパムなど迷惑行為がないようにお願いします。***")
print(member)
@bot.event
async def on_ready():
print('--------------------------------')
print('Started')
print('Name:',(bot.user.name))
print('ID:',(bot.user.id))
print('--------------------------------')
print('config.pyを読み込んでいます....')
waitsec = random.randint(2, 5)
for i in tqdm(range(waitsec)):
time.sleep(1)
print('config.pyを読み込みました。'+'読み込み時間:'+str(waitsec)+'秒')
print('--------------------------------')
activity = discord.Game(name="/help", type=3)
await bot.change_presence(status=discord.Status, activity=activity)
# =============================================================================
# Twitterオブジェクトの生成
auth = tweepy.OAuthHandler(config.consumer_key, config.consumer_secret)
auth.set_access_token(config.access_token, config.access_token_secret)
api = tweepy.API(auth)
# =============================================================================
@bot.command()
async def help(commandhelp):
embed=discord.Embed(title="コマンドリスト", description="コマンドがわからない人向け", color=0x64fb56)
embed.set_author(name="製作者 hiromun", url="https://twitter.com/hiromun_main", icon_url="https://pbs.twimg.com/profile_images/1295474755483480065/ccpiHnMI_400x400.jpg")
embed.add_field(name="/help", value="コマンドリストを表示させる", inline=False)
embed.add_field(name="/twitter(tw) {ID} {表示させる数}", value="最近呟いた投稿を表示させる", inline=False)
embed.add_field(name="/dd_all", value="サーバーにいる人数を表示させる(全員)", inline=False)
embed.add_field(name="/dd_user", value="サーバーにいる人数を表示させる(ユーザーのみ)", inline=False)
embed.add_field(name="/dd_bot", value="サーバーにいる人数を表示させる(botのみ)", inline=False)
embed.add_field(name="その他", value="今後追加予定", inline=False)
embed.set_footer(text="by hiromun")
await commandhelp.send(embed=embed)
@bot.command()
async def twitter(twitter, arg:str, arg1:int):
Account = arg #取得したいユーザーのユーザーIDを代入
tweets = api.user_timeline(Account, count=arg1, page=1)
num = 1 #ツイート数を計算するための変数
for tweet in tweets:
print("-----------------------------------------------------")
print('twid : ', tweet.id) # tweetのID
print('user : ', tweet.user.screen_name) # ユーザー名
print('date : ', tweet.created_at) # 呟いた日時
print(tweet.text) # ツイート内容
print('favo : ', tweet.favorite_count) # ツイートのいいね数
print('retw : ', tweet.retweet_count) # ツイートのリツイート数
print('ツイート数 : ', num) # ツイート数
print('='*1) # =を80個表示
num += 1 # ツイート数を計算
print("-----------------------------------------------------")
#ID変数固定
a1 = tweet.id
#Twitterアイコンの取得
imgurl = tweet.user.profile_image_url_https
#アカウントpageURL
URL = 'https://twitter.com/'+str(tweet.user.screen_name)
print(URL)
#つぶやき内容のURL取得(略)
URL1 = 'https://twitter.com/'+str(arg) +'/'+'status' +'/' +str(a1)
print(URL1)
#TwitterID
name = '@'+str(tweet.user.screen_name)
#日時
day = '日時:'+str(tweet.created_at)
embed=discord.Embed(title=name, url=URL, description=day)
embed.set_thumbnail(url=imgurl)
embed.add_field(name="最新のつぶやき", value=tweet.text, inline=False)
embed.add_field(name="いいね数", value=tweet.favorite_count, inline=True)
embed.add_field(name="リツイート数", value=tweet.retweet_count, inline=True)
embed.add_field(name="取得URL", value=URL1, inline=False)
await twitter.channel.send(embed=embed)
@bot.command()
async def tw(twitter, arg:str, arg1:int):
Account = arg #取得したいユーザーのユーザーIDを代入
tweets = api.user_timeline(Account, count=arg1, page=1)
num = 1 #ツイート数を計算するための変数
for tweet in tweets:
print("-----------------------------------------------------")
print('twid : ', tweet.id) # tweetのID
print('user : ', tweet.user.screen_name) # ユーザー名
print('date : ', tweet.created_at) # 呟いた日時
print(tweet.text) # ツイート内容
print('favo : ', tweet.favorite_count) # ツイートのいいね数
print('retw : ', tweet.retweet_count) # ツイートのリツイート数
print('ツイート数 : ', num) # ツイート数
print('='*1) # =を80個表示
num += 1 # ツイート数を計算
print("-----------------------------------------------------")
#ID変数固定
a1 = tweet.id
#Twitterアイコンの取得
imgurl = tweet.user.profile_image_url_https
#アカウントpageURL
URL = 'https://twitter.com/'+str(tweet.user.screen_name)
print(URL)
#つぶやき内容のURL取得(略)
URL1 = 'https://twitter.com/'+str(tweet.user.screen_name) +'/'+'status' +'/' +str(a1)
print(URL1)
#TwitterID
name = '@'+str(tweet.user.screen_name)
#日時
day = '日時:'+str(tweet.created_at)
embed=discord.Embed(title=name, url=URL, description=day)
embed.set_thumbnail(url=imgurl)
embed.add_field(name="最新のつぶやき", value=tweet.text, inline=False)
embed.add_field(name="いいね数", value=tweet.favorite_count, inline=True)
embed.add_field(name="リツイート数", value=tweet.retweet_count, inline=True)
embed.add_field(name="取得URL", value=URL1, inline=False)
await twitter.channel.send(embed=embed)
@bot.command()
async def dd_all(dd):
guild = dd.guild
member_count = guild.member_count
await dd.channel.send(f'メンバー数:{member_count}')
embed=discord.Embed(title="Discord メンバー数", description="全員")
embed.add_field(name="人数", value=member_count, inline=True)
await dd.send(embed=embed)
@bot.command()
async def dd_user(dd):
guild = dd.guild
user_count = sum(1 for member in guild.members if not member.bot)
await dd.channel.send(f'ユーザ数:{user_count}')
embed=discord.Embed(title="Discord メンバー数", description="ユーザーのみ")
embed.add_field(name="人数", value=user_count, inline=True)
await dd.send(embed=embed)
@bot.command()
async def dd_bot(dd):
guild = dd.guild
bot_count = sum(1 for member in guild.members if member.bot)
await dd.channel.send(f'BOT数:{bot_count}')
embed=discord.Embed(title="Discord メンバー数", description="Botのみ")
embed.add_field(name="人数", value=bot_count, inline=True)
await dd.send(embed=embed)
@bot.command()
async def join(ctx):
channel = ctx.author.voice.channel
await channel.connect()
@bot.command()
async def leave(ctx):
await ctx.voice_client.disconnect()
return
#discrd bot Token
bot.run("config.token")

Anonymous
2021年03月15日
本人ですが、汚いっすね
このコード
Output