mirror of
https://github.com/tomahawk-player/tomahawk.git
synced 2025-08-18 20:04:00 +02:00
Hopefully prevent sending DMs to yourself
This commit is contained in:
@@ -426,6 +426,20 @@ TomahawkSettings::setLastFmUsername( const QString& username )
|
|||||||
setValue( "lastfm/username", username );
|
setValue( "lastfm/username", username );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString
|
||||||
|
TomahawkSettings::twitterScreenName() const
|
||||||
|
{
|
||||||
|
QMutexLocker locker( m_safety );
|
||||||
|
return value( "twitter/ScreenName" ).toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
TomahawkSettings::setTwitterScreenName( const QString& screenName )
|
||||||
|
{
|
||||||
|
QMutexLocker locker( m_safety );
|
||||||
|
setValue( "twitter/ScreenName", screenName );
|
||||||
|
}
|
||||||
|
|
||||||
QString
|
QString
|
||||||
TomahawkSettings::twitterOAuthToken() const
|
TomahawkSettings::twitterOAuthToken() const
|
||||||
{
|
{
|
||||||
|
@@ -97,6 +97,9 @@ public:
|
|||||||
void setLastFmSessionKey( const QByteArray& key );
|
void setLastFmSessionKey( const QByteArray& key );
|
||||||
|
|
||||||
/// Twitter settings
|
/// Twitter settings
|
||||||
|
QString twitterScreenName() const;
|
||||||
|
void setTwitterScreenName( const QString& screenName );
|
||||||
|
|
||||||
QString twitterOAuthToken() const;
|
QString twitterOAuthToken() const;
|
||||||
void setTwitterOAuthToken( const QString& oauthtoken );
|
void setTwitterOAuthToken( const QString& oauthtoken );
|
||||||
|
|
||||||
|
@@ -345,6 +345,7 @@ SettingsDialog::postGotTomahawkStatusAuthVerifyReply( const QTweetUser &user )
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
TomahawkSettings* s = TomahawkSettings::instance();
|
TomahawkSettings* s = TomahawkSettings::instance();
|
||||||
|
s->setTwitterScreenName( user.screenName() );
|
||||||
TomahawkOAuthTwitter *twitAuth = new TomahawkOAuthTwitter( this );
|
TomahawkOAuthTwitter *twitAuth = new TomahawkOAuthTwitter( this );
|
||||||
twitAuth->setNetworkAccessManager( TomahawkUtils::nam() );
|
twitAuth->setNetworkAccessManager( TomahawkUtils::nam() );
|
||||||
twitAuth->setOAuthToken( s->twitterOAuthToken().toLatin1() );
|
twitAuth->setOAuthToken( s->twitterOAuthToken().toLatin1() );
|
||||||
|
@@ -113,6 +113,7 @@ TwitterPlugin::connectAuthVerifyReply( const QTweetUser &user )
|
|||||||
m_isAuthed = true;
|
m_isAuthed = true;
|
||||||
if ( !m_twitterAuth.isNull() )
|
if ( !m_twitterAuth.isNull() )
|
||||||
{
|
{
|
||||||
|
TomahawkSettings::instance()->setTwitterScreenName( user.screenName() );
|
||||||
m_friendsTimeline = QWeakPointer<QTweetFriendsTimeline>( new QTweetFriendsTimeline( m_twitterAuth.data(), this ) );
|
m_friendsTimeline = QWeakPointer<QTweetFriendsTimeline>( new QTweetFriendsTimeline( m_twitterAuth.data(), this ) );
|
||||||
m_mentions = QWeakPointer<QTweetMentions>( new QTweetMentions( m_twitterAuth.data(), this ) );
|
m_mentions = QWeakPointer<QTweetMentions>( new QTweetMentions( m_twitterAuth.data(), this ) );
|
||||||
m_directMessages = QWeakPointer<QTweetDirectMessages>( new QTweetDirectMessages( m_twitterAuth.data(), this ) );
|
m_directMessages = QWeakPointer<QTweetDirectMessages>( new QTweetDirectMessages( m_twitterAuth.data(), this ) );
|
||||||
@@ -160,11 +161,13 @@ TwitterPlugin::connectTimerFired()
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
bool peersChanged = false;
|
bool peersChanged = false;
|
||||||
|
QString myScreenName = TomahawkSettings::instance()->twitterScreenName();
|
||||||
QList<QString> peerlist = m_cachedPeers.keys();
|
QList<QString> peerlist = m_cachedPeers.keys();
|
||||||
qStableSort( peerlist.begin(), peerlist.end() );
|
qStableSort( peerlist.begin(), peerlist.end() );
|
||||||
foreach( QString screenName, peerlist )
|
foreach( QString screenName, peerlist )
|
||||||
{
|
{
|
||||||
QHash< QString, QVariant > peerData = m_cachedPeers[screenName].toHash();
|
QHash< QString, QVariant > peerData = m_cachedPeers[screenName].toHash();
|
||||||
|
|
||||||
if ( !peerData.contains( "node" ) || !peerData.contains( "host" ) || !peerData.contains( "port" ) || !peerData.contains( "pkey" ) )
|
if ( !peerData.contains( "node" ) || !peerData.contains( "host" ) || !peerData.contains( "port" ) || !peerData.contains( "pkey" ) )
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
@@ -194,10 +197,13 @@ TwitterPlugin::friendsTimelineStatuses( const QList< QTweetStatus > &statuses )
|
|||||||
qDebug() << Q_FUNC_INFO;
|
qDebug() << Q_FUNC_INFO;
|
||||||
QRegExp regex( QString( "^(@[a-zA-Z0-9]+ )?Got Tomahawk\\?(.*)$" ) );
|
QRegExp regex( QString( "^(@[a-zA-Z0-9]+ )?Got Tomahawk\\?(.*)$" ) );
|
||||||
bool peersChanged = false;
|
bool peersChanged = false;
|
||||||
|
QString myScreenName = TomahawkSettings::instance()->twitterScreenName();
|
||||||
foreach( QTweetStatus status, statuses )
|
foreach( QTweetStatus status, statuses )
|
||||||
{
|
{
|
||||||
if ( status.id() > m_cachedFriendsSinceId )
|
if ( status.id() > m_cachedFriendsSinceId )
|
||||||
m_cachedFriendsSinceId = status.id();
|
m_cachedFriendsSinceId = status.id();
|
||||||
|
if ( status.user().screenName() == myScreenName )
|
||||||
|
continue;
|
||||||
if ( regex.exactMatch( status.text() ) )
|
if ( regex.exactMatch( status.text() ) )
|
||||||
{
|
{
|
||||||
qDebug() << "TwitterPlugin found an exact tweet from friend " << status.user().screenName();
|
qDebug() << "TwitterPlugin found an exact tweet from friend " << status.user().screenName();
|
||||||
@@ -230,10 +236,13 @@ TwitterPlugin::mentionsStatuses( const QList< QTweetStatus > &statuses )
|
|||||||
qDebug() << Q_FUNC_INFO;
|
qDebug() << Q_FUNC_INFO;
|
||||||
QRegExp regex( QString( "^(@[a-zA-Z0-9]+ )?Got Tomahawk\\?(.*)$" ) );
|
QRegExp regex( QString( "^(@[a-zA-Z0-9]+ )?Got Tomahawk\\?(.*)$" ) );
|
||||||
bool peersChanged = false;
|
bool peersChanged = false;
|
||||||
|
QString myScreenName = TomahawkSettings::instance()->twitterScreenName();
|
||||||
foreach( QTweetStatus status, statuses )
|
foreach( QTweetStatus status, statuses )
|
||||||
{
|
{
|
||||||
if ( status.id() > m_cachedMentionsSinceId )
|
if ( status.id() > m_cachedMentionsSinceId )
|
||||||
m_cachedMentionsSinceId = status.id();
|
m_cachedMentionsSinceId = status.id();
|
||||||
|
if ( status.user().screenName() == myScreenName )
|
||||||
|
continue;
|
||||||
if ( regex.exactMatch( status.text() ) )
|
if ( regex.exactMatch( status.text() ) )
|
||||||
{
|
{
|
||||||
qDebug() << "TwitterPlugin found an exact matching mention from user " << status.user().screenName();
|
qDebug() << "TwitterPlugin found an exact matching mention from user " << status.user().screenName();
|
||||||
|
Reference in New Issue
Block a user